Few more code clean ups.
authorJoshua Colp <jcolp@digium.com>
Thu, 15 Feb 2007 02:02:30 +0000 (02:02 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 15 Feb 2007 02:02:30 +0000 (02:02 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54534 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_exec.c
apps/app_flash.c
apps/app_image.c

index 0aafac3..507045c 100644 (file)
@@ -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;
 }
 
index dea8f32..5f90093 100644 (file)
@@ -75,31 +75,37 @@ static int flash_exec(struct ast_channel *chan, void *data)
        int x;
        struct ast_module_user *u;
        struct zt_params ztp;
+
+       if (strcasecmp(chan->tech->type, "Zap")) {
+               ast_log(LOG_WARNING, "%s is not a Zap channel\n", chan->name);
+               return -1;
+       }
+
        u = ast_module_user_add(chan);
-       if (!strcasecmp(chan->tech->type, "Zap")) {
-               memset(&ztp, 0, sizeof(ztp));
-               res = ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp);
-               if (!res) {
-                       if (ztp.sigtype & __ZT_SIG_FXS) {
-                               x = ZT_FLASH;
-                               res = ioctl(chan->fds[0], ZT_HOOK, &x);
-                               if (!res || (errno == EINPROGRESS)) {
-                                       if (res) {
-                                               /* Wait for the event to finish */
-                                               zt_wait_event(chan->fds[0]);
-                                       }
-                                       res = ast_safe_sleep(chan, 1000);
-                                       if (option_verbose > 2)
-                                               ast_verbose(VERBOSE_PREFIX_3 "Flashed channel %s\n", chan->name);
-                               } else
-                                       ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", chan->name, strerror(errno));
+       
+       memset(&ztp, 0, sizeof(ztp));
+       res = ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp);
+       if (!res) {
+               if (ztp.sigtype & __ZT_SIG_FXS) {
+                       x = ZT_FLASH;
+                       res = ioctl(chan->fds[0], ZT_HOOK, &x);
+                       if (!res || (errno == EINPROGRESS)) {
+                               if (res) {
+                                       /* Wait for the event to finish */
+                                       zt_wait_event(chan->fds[0]);
+                               }
+                               res = ast_safe_sleep(chan, 1000);
+                               if (option_verbose > 2)
+                                       ast_verbose(VERBOSE_PREFIX_3 "Flashed channel %s\n", chan->name);
                        } else
-                               ast_log(LOG_WARNING, "%s is not an FXO Channel\n", chan->name);
+                               ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", chan->name, strerror(errno));
                } else
-                       ast_log(LOG_WARNING, "Unable to get parameters of %s: %s\n", chan->name, strerror(errno));
+                       ast_log(LOG_WARNING, "%s is not an FXO Channel\n", chan->name);
        } else
-               ast_log(LOG_WARNING, "%s is not a Zap channel\n", chan->name);
+               ast_log(LOG_WARNING, "Unable to get parameters of %s: %s\n", chan->name, strerror(errno));
+
        ast_module_user_remove(u);
+
        return res;
 }
 
index f5f3271..7f7086e 100644 (file)
@@ -96,9 +96,7 @@ static int sendimage_exec(struct ast_channel *chan, void *data)
                return 0;
        }
 
-       res = ast_send_image(chan, args.filename);
-       
-       if (!res)
+       if (!(res = ast_send_image(chan, args.filename)))
                pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "OK");
        
        ast_module_user_remove(u);