From 238b9d24c608c5e195652beacc0146448a56bdce Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Tue, 14 Sep 2004 22:35:53 +0000 Subject: [PATCH] Make sure patterns are always last (bug #2435) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3777 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pbx.c b/pbx.c index dd8abbd4aa..2bc05ff5d9 100755 --- a/pbx.c +++ b/pbx.c @@ -3830,7 +3830,13 @@ int ast_add_extension2(struct ast_context *con, } e = con->root; while(e) { - res= strcmp(e->exten, extension); + /* Make sure patterns are always last! */ + if ((e->exten[0] != '_') && (extension[0] == '_')) + res = -1; + else if ((e->exten[0] == '_') && (extension[0] != '_')) + res = 1; + else + res= strcmp(e->exten, extension); if (!res) { if (!e->matchcid && !tmp->matchcid) res = 0;