summaryrefslogtreecommitdiff
path: root/apps/app_dial.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 941c48399..637dbc0c8 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1393,6 +1393,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
if (ast_test_flag(&opts, OPT_CALLEE_MACRO) && !ast_strlen_zero(opt_args[OPT_ARG_CALLEE_MACRO])) {
struct ast_app *theapp;
+ const char *macro_result;
res = ast_autoservice_start(chan);
if (res) {
@@ -1417,9 +1418,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
res = -1;
}
- if (!res) {
- const char *macro_result;
- if ((macro_result = pbx_builtin_getvar_helper(peer, "MACRO_RESULT"))) {
+ if (!res && (macro_result = pbx_builtin_getvar_helper(peer, "MACRO_RESULT"))) {
char *macro_transfer_dest;
if (!strcasecmp(macro_result, "BUSY")) {
@@ -1431,13 +1430,11 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
} else
ast_set_flag(peerflags, OPT_GO_ON);
res = -1;
- }
- else if (!strcasecmp(macro_result, "CONGESTION") || !strcasecmp(macro_result, "CHANUNAVAIL")) {
+ } else if (!strcasecmp(macro_result, "CONGESTION") || !strcasecmp(macro_result, "CHANUNAVAIL")) {
ast_copy_string(status, macro_result, sizeof(status));
ast_set_flag(peerflags, OPT_GO_ON);
res = -1;
- }
- else if (!strcasecmp(macro_result, "CONTINUE")) {
+ } else if (!strcasecmp(macro_result, "CONTINUE")) {
/* hangup peer and keep chan alive assuming the macro has changed
the context / exten / priority or perhaps
the next priority in the current exten is desired.
@@ -1457,7 +1454,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
}
}
- }
}
}