diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-11-01 21:02:07 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-11-01 21:02:07 +0000 |
commit | 631ee6670c27e190c65541d2e8ad0be4d1d01e3a (patch) | |
tree | 8cd40153fac47e71c11d204c4aa221b38f7cadfa | |
parent | da097c4f5ec81b5a156adf504bc03b54955e8722 (diff) |
issue #5560
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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; |