summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/pbx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 700c4f517..fd914ef4e 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -1586,11 +1586,14 @@ struct ast_exten *pbx_find_extension(struct ast_channel *chan,
return NULL;
}
- if (!eroot && action == E_CANMATCH && score.canmatch_exten) {
+ if (!eroot && (action == E_CANMATCH || action == E_MATCHMORE) && score.canmatch_exten) {
q->status = STATUS_SUCCESS;
return score.canmatch_exten;
}
+ if (action == E_MATCHMORE && eroot)
+ return NULL; /* according to the code, complete matches are null matches in MATCHMORE mode */
+
if (eroot) {
/* found entry, now look for the right priority */
if (q->status < STATUS_NO_PRIORITY)