Merged revisions 55741 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 21 Feb 2007 00:14:07 +0000 (00:14 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 21 Feb 2007 00:14:07 +0000 (00:14 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r55741 | file | 2007-02-20 19:11:20 -0500 (Tue, 20 Feb 2007) | 2 lines

Better handle dropped IMAP connections. (issue #9054 reported by bsmithurst)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55748 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index 307531f..1b1f9fb 100644 (file)
@@ -2468,6 +2468,7 @@ static int imap_store_file(char *dir, char *mailboxuser, char *mailboxcontext, i
        fread(buf, len, 1, p);
        ((char *)buf)[len] = '\0';
        INIT(&str, mail_string, buf, len);
+       init_mailstream(vms, 0);
        imap_mailbox_name(mailbox, vms, 0, 1);
        if(!mail_append(vms->mailstream, mailbox, &str))
                ast_log(LOG_ERROR, "Error while sending the message to %s\n", mailbox);
@@ -2578,12 +2579,10 @@ static int inboxcount(const char *mailbox, int *newmsgs, int *oldmsgs)
        }
 
        /* If no mailstream exists yet and even after attempting to initialize it fails, bail out */
-       if (!vms_p->mailstream) {
-               ret = init_mailstream(vms_p, 0);
-               if (!vms_p->mailstream) {
-                       ast_log (LOG_ERROR,"Houston we have a problem - IMAP mailstream is NULL\n");
-                       return -1;
-               }
+       ret = init_mailstream(vms_p, 0);
+       if (!vms_p->mailstream) {
+               ast_log (LOG_ERROR,"Houston we have a problem - IMAP mailstream is NULL\n");
+               return -1;
        }
 
        if (!ret && vms_p->updated == 1) {