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.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Mark Michelson 17 years ago
parent cacecc2971
commit d0671d8d30

@ -1702,6 +1702,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;
@ -1749,25 +1755,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);
create_vm_state_from_user(vmu);
}
ret = init_mailstream(vms_p, fold);
if (!vms_p->mailstream) {

Loading…
Cancel
Save