]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11165: [freeswitch-core] Add more regex handling to dmachine -- squashme #resolve
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 15 May 2018 22:48:53 +0000 (17:48 -0500)
committerMuteesa Fred <muteesafred@hotmail.com>
Tue, 24 Jul 2018 07:21:53 +0000 (07:21 +0000)
src/switch_ivr_async.c

index bdbbe390b574d57def9160e671d87ff117a529f3..8d1609ac2d6a1293fd708d029ef52830c64aebdd 100644 (file)
@@ -441,10 +441,10 @@ static dm_match_t switch_ivr_dmachine_check_match(switch_ivr_dmachine_t *dmachin
                } else {
                        int pmatch = !strncmp(dmachine->digits, bp->digits, strlen(dmachine->digits));
 
-                       if (!exact_bp && pmatch && (!rmatches || bp->is_priority || is_timeout) && !strcmp(bp->digits, dmachine->digits)) {
+                       if (!exact_bp && pmatch && (bp->first_match || !rmatches || bp->is_priority || is_timeout) && !strcmp(bp->digits, dmachine->digits)) {
                                best = DM_MATCH_EXACT;
                                exact_bp = bp;
-                               if (bp->is_priority || dmachine->cur_digit_len == dmachine->max_digit_len) break;
+                               if (bp->first_match || bp->is_priority || dmachine->cur_digit_len == dmachine->max_digit_len) break;
                        }
 
                        if (!(both_bp && partial_bp) && strlen(bp->digits) != strlen(dmachine->digits) && pmatch) {