From 5f50fb1dcedf89f650914c9c3b4b0391dc3d8b22 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Wed, 17 Dec 2008 17:56:53 +0000 Subject: [PATCH] Merged revisions 165142-165143 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r165142 | mmichelson | 2008-12-17 11:52:50 -0600 (Wed, 17 Dec 2008) | 10 lines Use the create_vm_state_from_user function in a place where it was not being used before. Also, I've moved the urgent folder check in messagecount() up a bit so that the flow is a bit better. This was something I noticed while taking a look at issue #13973, although I don't think this is the underlying cause of the issue. ........ r165143 | mmichelson | 2008-12-17 11:53:37 -0600 (Wed, 17 Dec 2008) | 3 lines And actually assign the function to a pointer... ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@165146 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index d0bc8623e7..7eff597728 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -1593,6 +1593,12 @@ static int messagecount(const char *context, const char *mailbox, const char *fo int fold = folder_int(folder); int urgent = 0; + /* If URGENT, then look at INBOX */ + if (fold == 11) { + fold = NEW_FOLDER; + urgent = 1; + } + if (ast_strlen_zero(mailbox)) return 0; @@ -1640,25 +1646,8 @@ static int messagecount(const char *context, const char *mailbox, const char *fo vms_p = get_vm_state_by_mailbox(mailbox, context, 0); } - /* If URGENT, then look at INBOX */ - if (fold == 11) { - fold = NEW_FOLDER; - urgent = 1; - } - if (!vms_p) { - ast_debug(3,"Adding new vmstate for %s\n",vmu->imapuser); - if (!(vms_p = ast_calloc(1, sizeof(*vms_p)))) { - return -1; - } - ast_copy_string(vms_p->imapuser,vmu->imapuser, sizeof(vms_p->imapuser)); - ast_copy_string(vms_p->username, mailbox, sizeof(vms_p->username)); /* save for access from interactive entry point */ - vms_p->mailstream = NIL; /* save for access from interactive entry point */ - ast_debug(3, "Copied %s to %s\n",vmu->imapuser,vms_p->imapuser); - vms_p->updated = 1; - ast_copy_string(vms_p->curbox, mbox(fold), sizeof(vms_p->curbox)); - init_vm_state(vms_p); - vmstate_insert(vms_p); + vms_p = create_vm_state_from_user(vmu); } ret = init_mailstream(vms_p, fold); if (!vms_p->mailstream) {