aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-12 02:34:01 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-12 02:34:01 +0000
commitb88097834daf1915e5246cc2ddb94d8c1f857d58 (patch)
tree3d5611b98cf8cbd372783f228e003f7fb2323af9
parent25b30764775ff4a9f5f9abf58dd12bd88fb79f23 (diff)
issue #5718
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7084 f38db490-d61c-443f-a65b-d21fe96a405b
-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");
}
}
}