From: Anthony Minessale Date: Thu, 10 Nov 2011 16:07:19 +0000 (-0600) Subject: FS-3675 --resolve incorrect fix in 5dd463532c3d767de17b4f66357805b98f95a805 X-Git-Tag: v1.2-rc1~27^2~198 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a121a1bff5fa276d84e0149edb984ad48d80512;p=thirdparty%2Ffreeswitch.git FS-3675 --resolve incorrect fix in 5dd463532c3d767de17b4f66357805b98f95a805 --- diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index a29b8fc54f..34f1b709a2 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -3452,45 +3452,42 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess if (status == SWITCH_STATUS_SUCCESS) { goto outer_for; } else { - int ok = 0; - - if (fail_on_single_reject && check_reject) { - - if (!switch_true(fail_on_single_reject_var)) { - ok = 1; + int ok = 1; - for (i = 0; i < and_argc; i++) { - switch_channel_t *pchannel; - const char *cause_str; + if (fail_on_single_reject && check_reject && !switch_true(fail_on_single_reject_var)) { + for (i = 0; i < and_argc; i++) { + switch_channel_t *pchannel; + const char *cause_str; - if (!originate_status[i].peer_session) { - continue; - } - pchannel = switch_core_session_get_channel(originate_status[i].peer_session); - wait_for_cause(pchannel); - if (switch_channel_down(pchannel)) { - int neg, pos; + if (!originate_status[i].peer_session) { + continue; + } + + pchannel = switch_core_session_get_channel(originate_status[i].peer_session); + wait_for_cause(pchannel); + + if (switch_channel_down(pchannel)) { + int neg, pos; - cause_str = switch_channel_cause2str(switch_channel_get_cause(pchannel)); + cause_str = switch_channel_cause2str(switch_channel_get_cause(pchannel)); - neg = *fail_on_single_reject_var == '!'; - pos = !!switch_stristr(cause_str, fail_on_single_reject_var); + neg = *fail_on_single_reject_var == '!'; + pos = !!switch_stristr(cause_str, fail_on_single_reject_var); - if (neg) { - pos = !pos; - } + if (neg) { + pos = !pos; + } - if (pos) { - ok = 0; - break; - } + if (pos) { + ok = 0; + break; } } } } - - if (ok) { + + if (!ok) { goto outer_for; }