[Asterisk-cvs] asterisk/apps app_cut.c,1.17,1.18

kpfleming kpfleming
Tue Nov 1 16:10:09 CST 2005


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv16410/apps

Modified Files:
	app_cut.c 
Log Message:
issue #5560


Index: app_cut.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_cut.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- app_cut.c	24 Oct 2005 20:12:05 -0000	1.17
+++ app_cut.c	1 Nov 2005 21:02:07 -0000	1.18
@@ -36,6 +36,7 @@
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/version.h"
+#include "asterisk/app.h"
 
 /* Maximum length of any variable */
 #define MAXRESULT	1024
@@ -150,7 +151,7 @@
 
 static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size_t buflen)
 {
-	char *s, *varname=NULL, *delimiter=NULL, *field=NULL;
+	char *s, *args[3], *varname=NULL, *delimiter=NULL, *field=NULL;
 	int args_okay = 0;
 
 	memset(buffer, 0, buflen);
@@ -159,15 +160,13 @@
 	if (data) {
 		s = ast_strdupa((char *)data);
 		if (s) {
-			varname = strsep(&s, "|");
-			if (varname && (varname[0] != '\0')) {
-				delimiter = strsep(&s, "|");
-				if (delimiter) {
-					field = strsep(&s, "|");
-					if (field) {
-						args_okay = 1;
-					}
-				}
+			ast_separate_app_args(s, '|', args, 3);
+			varname = args[0];
+			delimiter = args[1];
+			field = args[2];
+
+			if (field) {
+				args_okay = 1;
 			}
 		} else {
 			return ERROR_NOMEM;




More information about the svn-commits mailing list