aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xChangeLog2
-rwxr-xr-xapps/app_voicemail.c15
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4415a0f36..5ecdeae20 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 0ed74f88a..c8a694c39 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");
}
}
}