diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index a7ae634b6d..df73fa799b 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -1732,21 +1732,18 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t status = SWITCH_STATUS_SUCCESS; } - if (status == SWITCH_STATUS_TOO_SMALL && strlen(digit_buffer) == 0) { - return SWITCH_STATUS_FALSE; - } - - - if (status == SWITCH_STATUS_SUCCESS) { - if (!zstr(digit_buffer)) { - if (zstr(digits_regex)) { - return SWITCH_STATUS_SUCCESS; - } - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Test Regex [%s][%s]\n", digit_buffer, digits_regex); - if (switch_regex_match(digit_buffer, digits_regex) == SWITCH_STATUS_SUCCESS) { - return SWITCH_STATUS_SUCCESS; - } else { - switch_channel_set_variable(channel, var_name, NULL); + if (!(status == SWITCH_STATUS_TOO_SMALL && strlen(digit_buffer) == 0)) { + if (status == SWITCH_STATUS_SUCCESS) { + if (!zstr(digit_buffer)) { + if (zstr(digits_regex)) { + return SWITCH_STATUS_SUCCESS; + } + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Test Regex [%s][%s]\n", digit_buffer, digits_regex); + if (switch_regex_match(digit_buffer, digits_regex) == SWITCH_STATUS_SUCCESS) { + return SWITCH_STATUS_SUCCESS; + } else { + switch_channel_set_variable(channel, var_name, NULL); + } } } }