From: Anthony Minessale Date: Wed, 24 Sep 2008 20:29:35 +0000 (+0000) Subject: put menu passthrough code back by popular demand X-Git-Tag: v1.0.2~1143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af9851efc04a00ac82bc80cb062a0950e6c9f3f9;p=thirdparty%2Ffreeswitch.git put menu passthrough code back by popular demand git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9639 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index 8fc6dd657e..c3c1f5fecb 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -1055,8 +1055,15 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t while (switch_channel_ready(channel)) { *input = '\0'; - status = vm_macro_get(session, VM_RECORD_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout); + if (*cc.buf && *cc.buf != *profile->terminator_key) { + *input = *cc.buf; + *(input + 1) = '\0'; + status = SWITCH_STATUS_SUCCESS; + *cc.buf = '\0'; + } else { + status = vm_macro_get(session, VM_RECORD_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout); + } if (!strcmp(input, profile->listen_file_key)) { goto play_file; @@ -1318,8 +1325,14 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t } if (switch_channel_ready(channel)) { - - TRY_CODE(vm_macro_get(session, VM_LISTEN_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout)); + if (*cc.buf && *cc.buf != *profile->terminator_key) { + *input = *cc.buf; + *(input + 1) = '\0'; + status = SWITCH_STATUS_SUCCESS; + *cc.buf = '\0'; + } else { + TRY_CODE(vm_macro_get(session, VM_LISTEN_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout)); + } if (!strcmp(input, profile->listen_file_key)) { goto play_file;