From: David Brooks Date: Wed, 16 Sep 2009 18:00:45 +0000 (+0000) Subject: Fixes CID pattern matching behavior to mirror that of extension pattern matching. X-Git-Tag: 1.4.27-rc1~2^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6913d06d19011d659ad590b9292394025c86f4d8;p=thirdparty%2Fasterisk.git Fixes CID pattern matching behavior to mirror that of extension pattern matching. Pattern matching for extensions uses a type of scoring system, giving values for specificity to each character in the pattern. Unfortunately, this is done character by character, in order. This does lead to some less specific patterns being first in line for matching, but it will usually get the job done. This patch merely brings CID matching to the same level as extension matching. This patch does not attempt to tackle the problem shared by extension matching. (closes issue #14708) Reported by: klaus3000 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218867 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/pbx.c b/main/pbx.c index acf2da9cf8..78abecfae5 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -4853,7 +4853,7 @@ int ast_add_extension2(struct ast_context *con, else if (e->matchcid && !tmp->matchcid) res = -1; else - res = strcasecmp(e->cidmatch, tmp->cidmatch); + res = ext_cmp(e->cidmatch, tmp->cidmatch); } if (res >= 0) break;