From 8d12c56f1681acea74e1f268675f9511810d93ce Mon Sep 17 00:00:00 2001 From: Luigi Rizzo <rizzo@icir.org> Date: Tue, 9 May 2006 06:04:45 +0000 Subject: [PATCH] more small simplifications git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25856 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pbx.c b/pbx.c index fd1b4f55f6..f64616a2fa 100644 --- a/pbx.c +++ b/pbx.c @@ -4183,15 +4183,16 @@ int ast_add_extension2(struct ast_context *con, tmp->registrar = registrar; ast_mutex_lock(&con->lock); - for (e = con->root; e; e = e->next) { - /* Make sure patterns are always last! */ - if ((e->exten[0] != '_') && (extension[0] == '_')) + for (e = con->root; e; el = e, e = e->next) { /* scan the extension list */ + /* XXX should use ext_cmp() to sort patterns correctly */ + /* almost strcmp, but make sure patterns are always last! */ + if (e->exten[0] != '_' && extension[0] == '_') res = -1; - else if ((e->exten[0] == '_') && (extension[0] != '_')) + else if (e->exten[0] == '_' && extension[0] != '_') res = 1; else res= strcmp(e->exten, extension); - if (!res) { + if (res == 0) { /* extension match, now look at cidmatch */ if (!e->matchcid && !tmp->matchcid) res = 0; else if (tmp->matchcid && !e->matchcid) -- GitLab