From db868d08076e8a2f55beca7bb2bcaba0f550702c Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Thu, 15 Feb 2007 02:02:30 +0000 Subject: Few more code clean ups. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54534 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_exec.c | 78 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 38 deletions(-) (limited to 'apps/app_exec.c') diff --git a/apps/app_exec.c b/apps/app_exec.c index 0aafac343..507045cc3 100644 --- a/apps/app_exec.c +++ b/apps/app_exec.c @@ -95,30 +95,31 @@ static int exec_exec(struct ast_channel *chan, void *data) char *s, *appname, *endargs, args[MAXRESULT] = ""; struct ast_app *app; - u = ast_module_user_add(chan); + if (ast_strlen_zero(data)) + return 0; - /* Check and parse arguments */ - if (data) { - s = ast_strdupa(data); - appname = strsep(&s, "("); - if (s) { - endargs = strrchr(s, ')'); - if (endargs) - *endargs = '\0'; - pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1); - } - if (appname) { - app = pbx_findapp(appname); - if (app) { - res = pbx_exec(chan, app, args); - } else { - ast_log(LOG_WARNING, "Could not find application (%s)\n", appname); - res = -1; - } + u = ast_module_user_add(chan); + + s = ast_strdupa(data); + appname = strsep(&s, "("); + if (s) { + endargs = strrchr(s, ')'); + if (endargs) + *endargs = '\0'; + pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1); + } + if (appname) { + app = pbx_findapp(appname); + if (app) { + res = pbx_exec(chan, app, args); + } else { + ast_log(LOG_WARNING, "Could not find application (%s)\n", appname); + res = -1; } } ast_module_user_remove(u); + return res; } @@ -129,31 +130,32 @@ static int tryexec_exec(struct ast_channel *chan, void *data) char *s, *appname, *endargs, args[MAXRESULT] = ""; struct ast_app *app; + if (ast_strlen_zero(data)) + return 0; + u = ast_module_user_add(chan); - /* Check and parse arguments */ - if (data) { - s = ast_strdupa(data); - appname = strsep(&s, "("); - if (s) { - endargs = strrchr(s, ')'); - if (endargs) - *endargs = '\0'; - pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1); - } - if (appname) { - app = pbx_findapp(appname); - if (app) { - res = pbx_exec(chan, app, args); - pbx_builtin_setvar_helper(chan, "TRYSTATUS", res ? "FAILED" : "SUCCESS"); - } else { - ast_log(LOG_WARNING, "Could not find application (%s)\n", appname); - pbx_builtin_setvar_helper(chan, "TRYSTATUS", "NOAPP"); - } + s = ast_strdupa(data); + appname = strsep(&s, "("); + if (s) { + endargs = strrchr(s, ')'); + if (endargs) + *endargs = '\0'; + pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1); + } + if (appname) { + app = pbx_findapp(appname); + if (app) { + res = pbx_exec(chan, app, args); + pbx_builtin_setvar_helper(chan, "TRYSTATUS", res ? "FAILED" : "SUCCESS"); + } else { + ast_log(LOG_WARNING, "Could not find application (%s)\n", appname); + pbx_builtin_setvar_helper(chan, "TRYSTATUS", "NOAPP"); } } ast_module_user_remove(u); + return 0; } -- cgit v1.2.3