]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix an issue with PLAYBACKSTATUS not being set under certain circumstances.
authorJason Parker <jparker@digium.com>
Wed, 27 Sep 2006 19:44:02 +0000 (19:44 +0000)
committerJason Parker <jparker@digium.com>
Wed, 27 Sep 2006 19:44:02 +0000 (19:44 +0000)
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

apps/app_playback.c
main/pbx.c

index 87b06b02e5c628fface31e7534f57e5d5d5e4fda..396ed71e6cf34e7425f14c777a8c60ecfe85c453 100644 (file)
@@ -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;
 }
index 5960df481e8d6e4127d6e6831ae57be8a120f36f..db84ac3b20b7bd05d2eaeb7ae44a784116c6e195 100644 (file)
@@ -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);