diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-06-20 23:31:08 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-06-20 23:31:08 +0000 |
commit | 396a37eba813394b699e27d02a026149f19cabc5 (patch) | |
tree | 3f50da7e5bf1f42f4eb056f19985332b946766d0 /main/pbx.c | |
parent | 2462d5ab4f33278cd547c2142370090b70905578 (diff) |
Fix trunk brokenness; also, optimize application registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/pbx.c')
-rw-r--r-- | main/pbx.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/main/pbx.c b/main/pbx.c index dba568a45..471c1c3d2 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -2940,15 +2940,16 @@ int ast_register_application(const char *app, int (*execute)(struct ast_channel { struct ast_app *tmp, *cur = NULL; char tmps[80]; - int length; + int length, res; AST_RWLIST_WRLOCK(&apps); AST_RWLIST_TRAVERSE(&apps, tmp, list) { - if (!strcasecmp(app, tmp->name)) { + if (!(res = strcasecmp(app, tmp->name))) { ast_log(LOG_WARNING, "Already have an application '%s'\n", app); AST_RWLIST_UNLOCK(&apps); return -1; - } + } else if (res < 0) + break; } length = sizeof(*tmp) + strlen(app) + 1; |