]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Set ARGC in subroutines with the number of arguments passed.
authorTilghman Lesher <tilghman@meg.abyt.es>
Mon, 27 Oct 2008 16:44:55 +0000 (16:44 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Mon, 27 Oct 2008 16:44:55 +0000 (16:44 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152174 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_stack.c

index 4afabc651d49bb03a9bd140dbb341b3a9c946b0c..2e5e6de9e7108525d35416cb10a0fa207d0696de 100644 (file)
@@ -118,8 +118,6 @@ static int frame_set_var(struct ast_channel *chan, struct gosub_stack_frame *fra
 
 static void gosub_release_frame(struct ast_channel *chan, struct gosub_stack_frame *frame)
 {
-       unsigned char i;
-       char argname[15];
        struct ast_var_t *vardata;
 
        /* If chan is not defined, then we're calling it as part of gosub_free,
@@ -287,6 +285,8 @@ static int gosub_exec(struct ast_channel *chan, void *data)
                frame_set_var(chan, newframe, argname, args2.argval[i]);
                ast_debug(1, "Setting '%s' to '%s'\n", argname, args2.argval[i]);
        }
+       snprintf(argname, sizeof(argname), "%d", args2.argc);
+       frame_set_var(chan, newframe, "ARGC", argname);
 
        /* And finally, save our return address */
        oldlist = stack_store->data;