[asterisk-bugs] [JIRA] (ASTERISK-21390) New applications for app_stack.c: GosubEntry and StackPopGoto

Tilghman Lesher (JIRA) noreply at issues.asterisk.org
Wed Jul 24 18:43:03 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-21390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=208208#comment-208208 ] 

Tilghman Lesher commented on ASTERISK-21390:
--------------------------------------------

Okay, then how about calling them something along the lines of "ReturnTo" (or ErrorReturn) and "RenameArgs"?  Name them something that indicates what they're doing, rather than the programming logic you went through to get there.

The actual intent of StackPop was something that could be used within an error routine.  That is, you Goto your error routine, and it keeps your variables intact long enough for you to handle that error, and then you either StackPop and go to a static location, or you Return to the place that called the subroutine.  From what I'm understanding, you're removing the stack frame before you enter your error routine, which means you're losing all the contextual information that you might want to log in that routine.
                
> 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