(closes issue #12302)

Reported by: pj
Tested by: murf

These changes will set a channel variable ~~EXTEN~~ just before generating code
for a switch, with the value of ${EXTEN}. The exten is marked as having a switch, 
and ever after that, till the end of the exten, we substitute any ${EXTEN} 
with ${~~EXTEN~~} instead in application arguments; (and the ${EXTEN: also). 
The reason for this, is that because switches are coded using 
separate extensions to provide pattern matching, and
jumping to/from these switch extensions messes up the ${EXTEN} value, 
which blows the minds of users.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@111341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2008-03-27 03:21:05 +00:00
parent 7fbcd155c1
commit 0ce3eb0e2a
2 changed files with 97 additions and 53 deletions

View File

@@ -178,6 +178,7 @@ struct ael_extension
char *hints;
int regexten;
int is_switch;
int has_switch;
struct ast_context *context;