From: Matt Jordan Date: Sat, 27 Jun 2015 01:38:58 +0000 (-0500) Subject: main/pbx: Resolve case sensitivity regression in PBX hints X-Git-Tag: 11.19.0-rc1~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96bbcf495a1da9e607d9b04a44b5c4f49e83cc03;p=thirdparty%2Fasterisk.git main/pbx: Resolve case sensitivity regression in PBX hints When 8297136f was merged for ASTERISK-25040, a regression was introduced surrounding the case sensitivity of device names within hints. Previously, device names - such as 'sip/foo' - were compared in a case insensitive fashion. Thus, 'sip/foo' was equivalent to 'SIP/foo'. After that patch, only the case sensitive name would match, i.e., 'SIP/foo'. As a result, some dialplan hints stopped working. This patch re-introduces case insensitive matching for device names in hints. ASTERISK-25040 ASTERISK-25202 #close Change-Id: If5046a7d14097e1e3c12b63092b9584bb1e9cb4c --- diff --git a/main/pbx.c b/main/pbx.c index 8cff38d856..869c273317 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -1061,7 +1061,7 @@ static int hintdevice_cmp_multiple(void *obj, void *arg, int flags) right_key = right->hintdevice; /* Fall through */ case OBJ_KEY: - cmp = strcmp(left->hintdevice, right_key); + cmp = strcasecmp(left->hintdevice, right_key); break; default: ast_assert(0); @@ -1078,7 +1078,7 @@ static int hintdevice_remove_cb(void *obj, void *arg, void *data, int flags) char *device = arg; struct ast_hint *hint = data; - if (!strcmp(candidate->hintdevice, device) + if (!strcasecmp(candidate->hintdevice, device) && candidate->hint == hint) { return CMP_MATCH; }