Commit Graph

5 Commits

Author SHA1 Message Date
Steve Murphy
195fe34304 (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/branches/1.4@136726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-08 00:15:34 +00:00
Steve Murphy
6f93af198e Updated the regressions on AEL. Hadn't updated
this for the changes I made to preserve ${EXTEN}
in switches, which affected several tests because
it adds extra priorities, and at least one needed to be updated
because of the removal of the empty extension warning
message.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 15:26:56 +00:00
Steve Murphy
ed75fa38e9 closes issue #10834 ; where a null input to a switch statement results in a hangup; since switch is implemented with extensions, and the default case is implemented with a '.', and the '.' matches 1 or more remaining characters, the case where 0 characters exist isn't matched, and the extension isn't matched, and the goto fails, and a hangup occurs. Now, when a default case is generated, it also generates a single fixed extension that will match a null input. That extension just does a goto to the default extension for that switch. I played with an alternate solution, where I just tack an extra char onto all the patterns and the goto, but not the default case's pattern. Then even a null input will still have at least one char in it. But it made me nervous, having that extra char in , even if that's a pretty secret and low-level issue.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-03 14:23:00 +00:00
Steve Murphy
9056b0fa09 updated the ael regressions to match what's in trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@62913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-03 14:41:53 +00:00
Steve Murphy
fd54b47404 These mods fix bug 9623, where an '@' in the eswitch contents causes a syntax error. I also updated the regressions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@62883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-03 13:54:56 +00:00