diff options
author | Steve Murphy <murf@digium.com> | 2008-03-27 04:47:12 +0000 |
---|---|---|
committer | Steve Murphy <murf@digium.com> | 2008-03-27 04:47:12 +0000 |
commit | 2427603eaf8b9b055d57ed0e0ced3aef17b6807d (patch) | |
tree | ec41966a8e91928775f6488aca8bd156d989c5a6 /include/asterisk | |
parent | 8f2ae67a3e6b4d0bd189d19e8f030b3134306273 (diff) |
Merged revisions 111341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r111341 | murf | 2008-03-26 21:21:05 -0600 (Wed, 26 Mar 2008) | 15 lines
(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/trunk@111360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/ael_structs.h | 1 | ||||
-rw-r--r-- | include/asterisk/pval.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/asterisk/ael_structs.h b/include/asterisk/ael_structs.h index 0a58ed378..a342fa580 100644 --- a/include/asterisk/ael_structs.h +++ b/include/asterisk/ael_structs.h @@ -107,6 +107,7 @@ struct ael_extension char *hints; int regexten; int is_switch; + int has_switch; struct ast_context *context; diff --git a/include/asterisk/pval.h b/include/asterisk/pval.h index ea545e4a4..acc9b30e1 100644 --- a/include/asterisk/pval.h +++ b/include/asterisk/pval.h @@ -138,7 +138,7 @@ struct pval *find_context(char *name); struct pval *find_macro(char *name); struct ael_priority *new_prio(void); struct ael_extension *new_exten(void); -void linkprio(struct ael_extension *exten, struct ael_priority *prio); +void linkprio(struct ael_extension *exten, struct ael_priority *prio, struct ael_extension *mother_exten); void destroy_extensions(struct ael_extension *exten); /* static void linkexten(struct ael_extension *exten, struct ael_extension *add); static void gen_prios(struct ael_extension *exten, char *label, pval *statement, struct ael_extension *mother_exten, struct ast_context *context ); */ |