[asterisk-bugs] [JIRA] (ASTERISK-21390) New applications for app_stack.c: GosubEntry and StackPopGoto
Corey Farrell (JIRA)
noreply at issues.asterisk.org
Wed Jul 24 17:11:03 CDT 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-21390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=208199#comment-208199 ]
Corey Farrell commented on ASTERISK-21390:
------------------------------------------
GosubEntry was created to make extensions.conf and verbose logs easier to read. It is also to remove references to $\{ARG1\}, $\{ARG2\}, etc from Gosub's. For the same reason I use priority 'n', it's better to not deal with argument indexes.
StackPopGoto is not an arbitrary combination of applications. It was created to allow use of a local variable for the Goto destination. Gosub scripts should not Set non-local channel variables unless doing so is a goal of the script. I understand your concern about unending list of new applications. Maybe StackPopExec would be better? Cover all possible uses for out of scope local variables.
> New applications for app_stack.c: GosubEntry and StackPopGoto
> -------------------------------------------------------------
>
> Key: ASTERISK-21390
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-21390
> Project: Asterisk
> Issue Type: New Feature
> Security Level: None
> Components: Applications/app_stack
> Affects Versions: SVN
> Reporter: Corey Farrell
> Severity: Minor
> Attachments: app_stack-new_apps.patch
>
>
> I've created two applications for use with Gosub scripts.
> GosubEntry
> Accepts a list of variable names to be initialized as local variable with values of ${ARGn}
> This application is mainly to reduce the verbosity of Gosub's created by a GUI. Instead of setting local variables for each argument separately it allows all to be set by a single priority.
> {code}
> exten => s,1,Set(LOCAL(NUMBER)=${ARG1})
> same => n,Set(LOCAL(STATUS)=${ARG2})
> same => n,Set(LOCAL(RESULTS)=${ARG3})
> ; Can be rewritten:
> exten => s,1,GosubEntry(NUMBER,STATUS,RESULTS)
> {code}
> Verbose >= 6 can be used to have GosubEntry produce output for each variable set.
> StackPopGoto - runs StackPop followed by Goto. The combined command is needed for leak-free Gosub's where the final Goto destination is in a local variable.
> I feel that the code for these are ready, the xmldocs need help.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list