[asterisk-commits] bbryant: branch 1.8 r321537 - /branches/1.8/apps/app_voicemail.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jun 1 15:10:10 CDT 2011


Author: bbryant
Date: Wed Jun  1 15:10:02 2011
New Revision: 321537

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=321537
Log:
This patch fixes an issue with using the wrong voicemail folders with greetings.

(closes issue #17871)
Reported by: edhorton
Patches: 
      digium_bug_17871_2 uploaded by fhackenberger (license 592)
Tested by: edhorton, fhackenberger

Modified:
    branches/1.8/apps/app_voicemail.c

Modified: branches/1.8/apps/app_voicemail.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/apps/app_voicemail.c?view=diff&rev=321537&r1=321536&r2=321537
==============================================================================
--- branches/1.8/apps/app_voicemail.c (original)
+++ branches/1.8/apps/app_voicemail.c Wed Jun  1 15:10:02 2011
@@ -2179,11 +2179,16 @@
 	int ret; /* for better error checking */
 	char *imap_flags = NIL;
 	int msgcount = (messagecount(vmu->context, vmu->mailbox, "INBOX") + messagecount(vmu->context, vmu->mailbox, "Old"));
-
-    /* Back out early if this is a greeting and we don't want to store greetings in IMAP */
-    if (msgnum < 0 && !imapgreetings) {
-        return 0;
-    }
+	int box = NEW_FOLDER;
+
+	/* Back out early if this is a greeting and we don't want to store greetings in IMAP */
+	if (msgnum < 0) {
+		if(!imapgreetings) {
+			return 0;
+		} else {
+			box = GREETINGS_FOLDER;
+		}
+	}
 	
 	if (imap_check_limits(chan, vms, vmu, msgcount)) {
 		return -1;
@@ -2266,9 +2271,9 @@
 	}
 	((char *) buf)[len] = '\0';
 	INIT(&str, mail_string, buf, len);
-	ret = init_mailstream(vms, NEW_FOLDER);
+	ret = init_mailstream(vms, box);
 	if (ret == 0) {
-		imap_mailbox_name(mailbox, sizeof(mailbox), vms, NEW_FOLDER, 1);
+		imap_mailbox_name(mailbox, sizeof(mailbox), vms, box, 1);
 		ast_mutex_lock(&vms->lock);
 		if(!mail_append_full(vms->mailstream, mailbox, imap_flags, NIL, &str))
 			ast_log(LOG_ERROR, "Error while sending the message to %s\n", mailbox);




More information about the asterisk-commits mailing list