diff options
author | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-08 00:48:35 +0000 |
---|---|---|
committer | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-08 00:48:35 +0000 |
commit | 075de98c935f494f44195ae527b08200764a98cf (patch) | |
tree | 56bf7ca809da4a38ed2718e833d32a3d55faa081 /include | |
parent | 13519ded95286c2899e0216428f294b5b03da9cd (diff) |
Merged revisions 136726 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r136726 | murf | 2008-08-07 18:15:34 -0600 (Thu, 07 Aug 2008) | 32 lines
(closes issue #13236)
Reported by: korihor
Wow, this one was a challenge!
I regrouped and ran a new strategy for
setting the ~~MACRO~~ value; I set it once
per extension, up near the top. It is only
set if there is a switch in the extension.
So, I had to put in a chunk of code to detect
a switch in the pval tree.
I moved the code to insert the set of ~~exten~~
up to the beginning of the gen_prios routine,
instead of down in the switch code.
I learned that I have to push the detection
of the switches down into the code, so everywhere
I create a new exten in gen_prios, I make sure
to pass onto it the values of the mother_exten
first, and the exten next.
I had to add a couple fields to the exten
struct to accomplish this, in the ael_structs.h
file. The checked field makes it so we don't
repeat the switch search if it's been done.
I also updated the regressions.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136746 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/ael_structs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asterisk/ael_structs.h b/include/asterisk/ael_structs.h index a342fa580..592439346 100644 --- a/include/asterisk/ael_structs.h +++ b/include/asterisk/ael_structs.h @@ -107,7 +107,8 @@ struct ael_extension char *hints; int regexten; int is_switch; - int has_switch; + int has_switch; /* set if a switch exists in the extension */ + int checked_switch; /* set if we checked for a switch in the extension -- so we don't have to do it again */ struct ast_context *context; |