From e7dfa236ec85f923ead4e296a1a14507c31ea632 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 11 May 2007 01:47:13 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5143 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_ivr_play_say.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 5d708b2380..79b448d7d1 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -917,8 +917,7 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t //Make sure we made it out alive if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { - switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - break; + goto done; } //we only get one digit out of playback, see if thats all we needed and what we got if (max_digits == 1 && status == SWITCH_STATUS_BREAK) { @@ -938,8 +937,7 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t //Make sure we made it out alive if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { - switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - break; + goto done; } } } @@ -957,8 +955,7 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t //Make sure we made it out alive if (status != SWITCH_STATUS_SUCCESS) { //Bail - switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - break; + goto done; } //see if we got enough if (min_digits <= strlen(digit_buffer)) { @@ -977,8 +974,7 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t //Make sure we made it out alive if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { - switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - break; + goto done; } } } @@ -989,6 +985,7 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t } } + done: //if we got here, we got no digits or lost the channel digit_buffer = "\0"; return SWITCH_STATUS_FALSE;