mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
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/branches/1.4@43803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -5591,8 +5591,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);
|
||||
|
||||
|
Reference in New Issue
Block a user