From: Jason Parker Date: Wed, 27 Sep 2006 19:45:24 +0000 (+0000) Subject: Merged revisions 43803 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~4604 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5a45352f3abc6036d3433ba42e94d08308ae523a;p=thirdparty%2Fasterisk.git Merged revisions 43803 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r43803 | qwell | 2006-09-27 12:44:02 -0700 (Wed, 27 Sep 2006) | 4 lines Fix an issue with PLAYBACKSTATUS not being set under certain circumstances. Fix a minor issue, to make it use the filenames that were parsed, instead of the entire argument string. Fix Background() to return -1 like Playback(), if no args are specified. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43804 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_playback.c b/apps/app_playback.c index 87b06b02e5..396ed71e6c 100644 --- a/apps/app_playback.c +++ b/apps/app_playback.c @@ -380,6 +380,7 @@ static struct ast_cli_entry cli_playback[] = { static int playback_exec(struct ast_channel *chan, void *data) { int res = 0; + int mres = 0; struct ast_module_user *u; char *tmp; int option_skip=0; @@ -422,11 +423,11 @@ static int playback_exec(struct ast_channel *chan, void *data) res = ast_answer(chan); } if (!res) { - int mres = 0; + char *back = args.filenames; char *front; ast_stopstream(chan); - while (!res && (front = strsep(&tmp, "&"))) { + while (!res && (front = strsep(&back, "&"))) { if (option_say) res = say_full(chan, front, "", chan->language, NULL, -1, -1); else @@ -442,9 +443,9 @@ static int playback_exec(struct ast_channel *chan, void *data) mres = 1; } } - pbx_builtin_setvar_helper(chan, "PLAYBACKSTATUS", mres ? "FAILED" : "SUCCESS"); } done: + pbx_builtin_setvar_helper(chan, "PLAYBACKSTATUS", mres ? "FAILED" : "SUCCESS"); ast_module_user_remove(u); return res; } diff --git a/main/pbx.c b/main/pbx.c index 538b5fb9c3..a800ae8739 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -5292,8 +5292,10 @@ static int pbx_builtin_background(struct ast_channel *chan, void *data) AST_APP_ARG(context); ); - if (ast_strlen_zero(data)) + if (ast_strlen_zero(data)) { ast_log(LOG_WARNING, "Background requires an argument (filename)\n"); + return -1; + } parse = ast_strdupa(data);