[asterisk-commits] mmichelson: branch 1.4 r74476 - /branches/1.4/apps/app_voicemail.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jul 10 18:32:53 CDT 2007
Author: mmichelson
Date: Tue Jul 10 18:32:52 2007
New Revision: 74476
URL: http://svn.digium.com/view/asterisk?view=rev&rev=74476
Log:
Forwarding a message with IMAP storage was storing the message in the sender's box instead of the forwarded mailbox.
(closes issue #10138, reported and patched by jaroth)
Modified:
branches/1.4/apps/app_voicemail.c
Modified: branches/1.4/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/apps/app_voicemail.c?view=diff&rev=74476&r1=74475&r2=74476
==============================================================================
--- branches/1.4/apps/app_voicemail.c (original)
+++ branches/1.4/apps/app_voicemail.c Tue Jul 10 18:32:52 2007
@@ -3949,6 +3949,7 @@
char *temp;
char todir[256];
int todircount=0;
+ struct vm_state *dstvms;
#endif
char username[70]="";
int res = 0, cmd = 0;
@@ -4139,7 +4140,19 @@
/* should not assume "fmt" here! */
save_body(body,vms,"2",fmt);
- STORE(todir, vmtmp->mailbox, vmtmp->context, vms->curmsg, chan, vmtmp, fmt, duration, vms);
+ /* get destination mailbox */
+ dstvms = get_vm_state_by_mailbox(vmtmp->mailbox,0);
+ if (dstvms) {
+ init_mailstream(dstvms, 0);
+ if (!dstvms->mailstream) {
+ ast_log (LOG_ERROR,"IMAP mailstream for %s is NULL\n",vmtmp->mailbox);
+ } else {
+ STORE(todir, vmtmp->mailbox, vmtmp->context, dstvms->curmsg, chan, vmtmp, fmt, duration, dstvms);
+ run_externnotify(vmtmp->context, vmtmp->mailbox);
+ }
+ } else {
+ ast_log (LOG_ERROR,"Could not find state information for mailbox %s\n",vmtmp->mailbox);
+ }
char *myserveremail = serveremail;
if (!ast_strlen_zero(vmtmp->serveremail))
More information about the asterisk-commits
mailing list