[asterisk-commits] tilghman: trunk r76704 - in /trunk: UPGRADE.txt res/res_agi.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jul 23 15:27:27 CDT 2007


Author: tilghman
Date: Mon Jul 23 15:27:26 2007
New Revision: 76704

URL: http://svn.digium.com/view/asterisk?view=rev&rev=76704
Log:
Missed one conversion to comma delimiter (thanks, Juggie) and add documentation on the
change to the Local channel name.

Modified:
    trunk/UPGRADE.txt
    trunk/res/res_agi.c

Modified: trunk/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/trunk/UPGRADE.txt?view=diff&rev=76704&r1=76703&r2=76704
==============================================================================
--- trunk/UPGRADE.txt (original)
+++ trunk/UPGRADE.txt Mon Jul 23 15:27:26 2007
@@ -96,3 +96,7 @@
   user has not configured the automon feature, the normal "415 Unsupported media type"
   is returned, and nothing is done.
 
+* chan_local.c: the comma delimiter inside the channel name has been changed to a
+  semicolon, in order to make the Local channel driver compatible with the comma
+  delimiter change in applications.
+

Modified: trunk/res/res_agi.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_agi.c?view=diff&rev=76704&r1=76703&r2=76704
==============================================================================
--- trunk/res/res_agi.c (original)
+++ trunk/res/res_agi.c Mon Jul 23 15:27:26 2007
@@ -2014,8 +2014,12 @@
 {
 	enum agi_result res;
 	struct ast_module_user *u;
-	char *argv[MAX_ARGS], buf[2048] = "", *tmp = buf, *stringp;
-	int argc = 0, fds[2], efd = -1, pid;
+	char buf[2048] = "", *tmp = buf;
+	int fds[2], efd = -1, pid;
+	AST_DECLARE_APP_ARGS(args,
+		AST_APP_ARG(arg)[MAX_ARGS];
+	);
+	__attribute__((unused))char *empty = NULL;
 	AGI agi;
 
 	if (ast_strlen_zero(data)) {
@@ -2025,9 +2029,8 @@
 	ast_copy_string(buf, data, sizeof(buf));
 
 	memset(&agi, 0, sizeof(agi));
-        while ((stringp = strsep(&tmp, "|")) && argc < MAX_ARGS-1)
-		argv[argc++] = stringp;
-	argv[argc] = NULL;
+	AST_STANDARD_APP_ARGS(args, tmp);
+	args.argv[args.argc] = NULL;
 
 	u = ast_module_user_add(chan);
 #if 0
@@ -2039,13 +2042,13 @@
 		}
 	}
 #endif
-	res = launch_script(argv[0], argv, fds, enhanced ? &efd : NULL, &pid);
+	res = launch_script(args.argv[0], args.argv, fds, enhanced ? &efd : NULL, &pid);
 	if (res == AGI_RESULT_SUCCESS) {
 		int status = 0;
 		agi.fd = fds[1];
 		agi.ctrl = fds[0];
 		agi.audio = efd;
-		res = run_agi(chan, argv[0], &agi, pid, &status, dead, argc, argv);
+		res = run_agi(chan, args.argv[0], &agi, pid, &status, dead, args.argc, args.argv);
 		/* If the fork'd process returns non-zero, set AGISTATUS to FAILURE */
 		if (res == AGI_RESULT_SUCCESS && status)
 			res = AGI_RESULT_FAILURE;




More information about the asterisk-commits mailing list