Merged revisions 136726 via svnmerge from
authorSteve Murphy <murf@digium.com>
Fri, 8 Aug 2008 00:48:35 +0000 (00:48 +0000)
committerSteve Murphy <murf@digium.com>
Fri, 8 Aug 2008 00:48:35 +0000 (00:48 +0000)
commita40f1cc1c55923b2b86465b0a0fb362a139ab2ea
tree56bf7ca809da4a38ed2718e833d32a3d55faa081
parent64a06c0298b1bc053bb01a708b9641a9a776c3ea
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: https://origsvn.digium.com/svn/asterisk/trunk@136746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
include/asterisk/ael_structs.h
pbx/ael/ael-test/ref.ael-ntest10
pbx/ael/ael-test/ref.ael-test18
pbx/ael/ael-test/ref.ael-test19
pbx/ael/ael-test/ref.ael-test8
pbx/ael/ael-test/ref.ael-vtest13
res/ael/pval.c