From: Anthony Minessale Date: Fri, 4 Jun 2010 15:15:04 +0000 (-0500) Subject: allow uuid_break to interrupt one or all in a delimited string of files the same... X-Git-Tag: v1.2-rc1~742 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eba05c3c01654a53a7f2eefcec40073b9bc10811;p=thirdparty%2Ffreeswitch.git allow uuid_break to interrupt one or all in a delimited string of files the same as several individual files --- diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index e2accf3652..652f6d5e06 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -2729,14 +2729,14 @@ SWITCH_STANDARD_API(break_function) if (switch_channel_test_flag(channel, CF_BROADCAST)) { switch_channel_stop_broadcast(channel); } else { - switch_channel_set_flag(channel, CF_BREAK); + switch_channel_set_flag_value(channel, CF_BREAK, all ? 2 : 1); } if (qchannel) { if (switch_channel_test_flag(qchannel, CF_BROADCAST)) { switch_channel_stop_broadcast(qchannel); } else { - switch_channel_set_flag(qchannel, CF_BREAK); + switch_channel_set_flag_value(qchannel, CF_BREAK, all ? 2 : 1); } } diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 841cec94c4..3f19b9b96e 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -1195,14 +1195,18 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess for (;;) { int do_speed = 1; int last_speed = -1; - + int f; + if (!switch_channel_ready(channel)) { status = SWITCH_STATUS_FALSE; break; } - if (switch_channel_test_flag(channel, CF_BREAK)) { + if ((f = switch_channel_test_flag(channel, CF_BREAK))) { switch_channel_clear_flag(channel, CF_BREAK); + if (f == 2) { + done = 1; + } status = SWITCH_STATUS_BREAK; break; }