diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-14 22:35:53 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-14 22:35:53 +0000 |
commit | b0108d7b5515f128b4ed25ea2adc30c36a03775d (patch) | |
tree | 0f872bb5b3ed0cb23ecdeca32d9dc71aa5e6fa22 /pbx.c | |
parent | 956cbf759ec4a258d47a8c4839da3ad52156f941 (diff) |
Make sure patterns are always last (bug #2435)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3777 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx.c')
-rwxr-xr-x | pbx.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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; |