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

Corey Farrell (JIRA) noreply at issues.asterisk.org
Thu Jul 25 19:41:03 CDT 2013


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

Corey Farrell commented on ASTERISK-21390:
------------------------------------------

I don't see any benefit to simply blanking the arguments, what if they were shifted?  This would allow support for variadic routines.  ShiftArgs?

As for "ReturnTo", the point of the Gosub's using it is 1) determine where to go next and 2) go there.  Copying a Goto after every call to those Gosub routines is not a workable solution for me (one server would require an identical Goto in 70 places).  I'm not a fan of code duplication - that's a big part of why I'm using Gosub routines.  I understand that I'm using the stack in a slightly different way than originally intended, but this is a new feature request.  I don't think it's abusing anything.
                
> 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