aboutsummaryrefslogtreecommitdiffstats
path: root/main/pbx.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 039d7beb3..ac88d5a01 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -736,11 +736,12 @@ enum ext_match_t {
* E_MATCHMORE success only on partial match (i.e. leftover digits in pattern)
* E_CANMATCH either of the above.
*/
+
static int _extension_match_core(const char *pattern, const char *data, enum ext_match_t mode)
{
mode &= E_MATCH_MASK; /* only consider the relevant bits */
-
- if (!strcasecmp(pattern,data)) /* note: if this test is left out, then _x. will not match _x. !!! */
+
+ if (mode == E_MATCH && pattern[0] == '_' && strcasecmp(pattern,data)==0) /* note: if this test is left out, then _x. will not match _x. !!! */
return 1;
if (pattern[0] != '_') { /* not a pattern, try exact or partial match */