From eca8a0a6251310d6c46c211bed2514b56454c39e Mon Sep 17 00:00:00 2001 From: Brett Bryant <bbryant@digium.com> Date: Wed, 1 Jun 2011 20:11:08 +0000 Subject: [PATCH] Merged revisions 321537 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r321537 | bbryant | 2011-06-01 16:10:02 -0400 (Wed, 01 Jun 2011) | 8 lines 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 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321538 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 0433844c71..5e342bda08 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -2177,11 +2177,16 @@ static int imap_store_file(const char *dir, const char *mailboxuser, const char int ret; /* for better error checking */ char *imap_flags = NIL; int msgcount = (messagecount(vmu->context, vmu->mailbox, "INBOX") + messagecount(vmu->context, vmu->mailbox, "Old")); + 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 && !imapgreetings) { - return 0; - } + /* 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; @@ -2264,9 +2269,9 @@ static int imap_store_file(const char *dir, const char *mailboxuser, const char } ((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); -- GitLab