diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-01 21:02:07 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-01 21:02:07 +0000 |
commit | 5f0fa721d1ae6458155e5c58ffc838c6195484eb (patch) | |
tree | 8cd40153fac47e71c11d204c4aa221b38f7cadfa | |
parent | f4f1d0b3f937f50515a2bfca2e37a44b07a93748 (diff) |
issue #5560
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6934 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | ChangeLog | 2 | ||||
-rwxr-xr-x | apps/app_cut.c | 19 |
2 files changed, 11 insertions, 10 deletions
@@ -1,5 +1,7 @@ 2005-11-01 Kevin P. Fleming <kpfleming@digium.com> + * apps/app_cut.c (cut_internal): use ast_separate_app_args() instead of open code (issue #5560) + * apps/app_mixmonitor.c (launch_monitor_thread): ast_strlen_zero can handle NULL input (issue #5561) (mixmonitor_exec): same diff --git a/apps/app_cut.c b/apps/app_cut.c index c6576bfcc..95b5b1ded 100755 --- a/apps/app_cut.c +++ b/apps/app_cut.c @@ -36,6 +36,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #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 sort_internal(struct ast_channel *chan, char *data, char *buffer, siz 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 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size 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; |