]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 156297 via svnmerge from
authorSteve Murphy <murf@digium.com>
Wed, 12 Nov 2008 19:47:29 +0000 (19:47 +0000)
committerSteve Murphy <murf@digium.com>
Wed, 12 Nov 2008 19:47:29 +0000 (19:47 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r156297 | murf | 2008-11-12 12:36:16 -0700 (Wed, 12 Nov 2008) | 18 lines

It turns out that the 0x0XX00 codes being returned for
N, X, and Z are off by one, as per conversation with
jsmith on #asterisk-dev;  he was teaching a class
and disconcerted that this published rule was not
being followed, with patterns _NXX, _[1-8]22 and
_[2-9]22... and NXX was winning, but [1-8] should
have been.

This change, tested on these 3 patterns now
picks the proper one.

However, this change may surprise users who
set up dialplans based on previous behavior,
which has been there for what, 2 and half
years or so now.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@156299 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/pbx.c

index f38b7a0f128ada54bb340705c131cccae05dcf13..b24cd2eae7e867a76640a78413c9b43cfb762b0f 100644 (file)
@@ -2081,13 +2081,13 @@ static int ext_cmp1(const char **p)
                return 0x0000 | (c & 0xff);
 
        case 'N':       /* 2..9 */
-               return 0x0700 | '2' ;
+               return 0x0800 | '2' ;
 
        case 'X':       /* 0..9 */
-               return 0x0900 | '0';
+               return 0x0A00 | '0';
 
        case 'Z':       /* 1..9 */
-               return 0x0800 | '1';
+               return 0x0900 | '1';
 
        case '.':       /* wildcard */
                return 0x10000;