diff --git a/ChangeLog b/ChangeLog index 4415a0f36f97c896934d0c33f8ab64b2fe9c38c6..5ecdeae202a7b88905bd03177a03cbd16673a7a1 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2005-11-11 Kevin P. Fleming <kpfleming@digium.com> + * apps/app_voicemail.c (forward_message): correct bugs in message forwarding (issue #5718) + * apps/app_dial.c (wait_for_answer): correct flag copying for automon feature (issue #5720) * channels/chan_iax2.c: correct comment diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 0ed74f88ae04799246525d07cd1c5cfa56669f1b..c8a694c39761bf974b16f923bc77d23da0fa801b 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3479,10 +3479,16 @@ static int forward_message(struct ast_channel *chan, char *context, char *dir, i ast_log(LOG_DEBUG, "%s", sys); ast_safe_system(sys); - if ( (res = count_messages(receiver, todir)) ) + res = count_messages(receiver, todir); + + if ( (res == ERROR_LOCK_PATH) || (res < 0) ) { + if (res == ERROR_LOCK_PATH) + ast_log(LOG_WARNING, "Unable to lock the directory %s to forward the requested vmail msg!\n", todir); + else + ast_log(LOG_WARNING, "Unable to determine how many msgs are in the destination folder!\n"); break; - else - todircount = res; + } + todircount = res; ast_copy_string(tmp, fmt, sizeof(tmp)); stringp = tmp; while ((s = strsep(&stringp, "|"))) { @@ -3547,8 +3553,7 @@ static int forward_message(struct ast_channel *chan, char *context, char *dir, i res = ast_play_and_wait(chan, "vm-messages"); if (!res) res = ast_play_and_wait(chan, "vm-saved"); */ - if (!res) - res = ast_play_and_wait(chan, "vm-msgsaved"); + res = ast_play_and_wait(chan, "vm-msgsaved"); } } }