diff options
author | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-03 14:23:00 +0000 |
---|---|---|
committer | murf <murf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-03 14:23:00 +0000 |
commit | 2c43029b2864b4befe2db02f5da03295ef5db0e1 (patch) | |
tree | 77c53f1593077d7549e95ae3553476aec4f4ee18 /pbx/ael/ael-test/ref.ael-vtest17 | |
parent | 22d0a866a731dda20485e5c442a6b4761420f3cb (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.4@84511 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx/ael/ael-test/ref.ael-vtest17')
-rw-r--r-- | pbx/ael/ael-test/ref.ael-vtest17 | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pbx/ael/ael-test/ref.ael-vtest17 b/pbx/ael/ael-test/ref.ael-vtest17 index 1a9adbbb3..16e8f218f 100644 --- a/pbx/ael/ael-test/ref.ael-vtest17 +++ b/pbx/ael/ael-test/ref.ael-vtest17 @@ -45,6 +45,7 @@ exten => 82,2,Verbose(Finished 100000 levels deep call!) exten => 83,1,Goto(sw-2-${EXTEN}|10) exten => 83,2,NoOp(Finish switch-extension-2) exten => _sw-2-.,10,Goto(83|2) +exten => sw-2-,10,Goto(sw-2-.|10) exten => _sw-2-[4-7]X,10,Verbose(and this too!) exten => _sw-2-[4-7]X,11,Goto(sw-2-.|10) exten => _sw-2-9X,10,Verbose(handle both 8x and 9x calls) |