提交 3a121a1b authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3675 --resolve incorrect fix in 5dd46353

上级 6fc559ef
...@@ -3452,45 +3452,42 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess ...@@ -3452,45 +3452,42 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
if (status == SWITCH_STATUS_SUCCESS) { if (status == SWITCH_STATUS_SUCCESS) {
goto outer_for; goto outer_for;
} else { } else {
int ok = 0; int ok = 1;
if (fail_on_single_reject && check_reject) {
if (!switch_true(fail_on_single_reject_var)) {
ok = 1;
for (i = 0; i < and_argc; i++) { if (fail_on_single_reject && check_reject && !switch_true(fail_on_single_reject_var)) {
switch_channel_t *pchannel; for (i = 0; i < and_argc; i++) {
const char *cause_str; switch_channel_t *pchannel;
const char *cause_str;
if (!originate_status[i].peer_session) { if (!originate_status[i].peer_session) {
continue; continue;
} }
pchannel = switch_core_session_get_channel(originate_status[i].peer_session);
wait_for_cause(pchannel); pchannel = switch_core_session_get_channel(originate_status[i].peer_session);
if (switch_channel_down(pchannel)) { wait_for_cause(pchannel);
int neg, pos;
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 == '!'; neg = *fail_on_single_reject_var == '!';
pos = !!switch_stristr(cause_str, fail_on_single_reject_var); pos = !!switch_stristr(cause_str, fail_on_single_reject_var);
if (neg) { if (neg) {
pos = !pos; pos = !pos;
} }
if (pos) { if (pos) {
ok = 0; ok = 0;
break; break;
}
} }
} }
} }
} }
if (ok) { if (!ok) {
goto outer_for; goto outer_for;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论