diff options
author | Brett Bryant <bbryant@digium.com> | 2010-09-09 18:53:09 +0000 |
---|---|---|
committer | Brett Bryant <bbryant@digium.com> | 2010-09-09 18:53:09 +0000 |
commit | 9de3352554464f1ce72a4f3b6f0c730a0de03aed (patch) | |
tree | 2c49af2d7da86c81784771d0c988913c0f85bafe /main | |
parent | 49d3bdd14c7cffc439a93a18c78ed683041d23d0 (diff) |
Merged revisions 285711 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r285711 | bbryant | 2010-09-09 14:51:52 -0400 (Thu, 09 Sep 2010) | 15 lines
Merged revisions 285710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r285710 | bbryant | 2010-09-09 14:50:13 -0400 (Thu, 09 Sep 2010) | 8 lines
Fixes an issue with dialplan pattern matching where the specificity for pattern ranges and pattern special characters was inconsistent.
(closes issue #16903)
Reported by: Nick_Lewis
Patches:
pbx.c-specificity.patch uploaded by Nick Lewis (license 657)
Tested by: Nick_Lewis
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/pbx.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/main/pbx.c b/main/pbx.c index 67163de3e..8e20f8686 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -1908,15 +1908,15 @@ static struct match_char *add_pattern_node(struct ast_context *con, struct match pattern matcher. */ m->is_pattern = is_pattern; if (specificity == 1 && is_pattern && pattern[0] == 'N') - m->specificity = 0x0802; + m->specificity = 0x0832; else if (specificity == 1 && is_pattern && pattern[0] == 'Z') - m->specificity = 0x0901; + m->specificity = 0x0931; else if (specificity == 1 && is_pattern && pattern[0] == 'X') - m->specificity = 0x0a00; + m->specificity = 0x0a30; else if (specificity == 1 && is_pattern && pattern[0] == '.') - m->specificity = 0x10000; + m->specificity = 0x18000; else if (specificity == 1 && is_pattern && pattern[0] == '!') - m->specificity = 0x20000; + m->specificity = 0x28000; else m->specificity = specificity; @@ -2193,10 +2193,10 @@ static int ext_cmp1(const char **p, unsigned char *bitwise) return 0x0900 | '1'; case '.': /* wildcard */ - return 0x10000; + return 0x18000; case '!': /* earlymatch */ - return 0x20000; /* less specific than NULL */ + return 0x28000; /* less specific than NULL */ case '\0': /* empty string */ *p = NULL; |