diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_voicemail.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 8650e3173..403e9b2d1 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -2515,12 +2515,14 @@ static int inboxcount(const char *mailbox_context, int *newmsgs, int *oldmsgs) context = "default"; mailboxnc = (char *)mailbox_context; } - if (newmsgs) + if (newmsgs) { if((*newmsgs = messagecount(context, mailboxnc, "INBOX")) < 0) return -1; - if (oldmsgs) + } + if (oldmsgs) { if((*oldmsgs = messagecount(context, mailboxnc, "Old")) < 0) return -1; + } return 0; } @@ -2530,9 +2532,13 @@ static int has_voicemail(const char *mailbox, const char *folder) char tmp[256], *tmp2, *mbox, *context; ast_copy_string(tmp, mailbox, sizeof(tmp)); tmp2 = tmp; - while (strcmp((mbox = strsep(&tmp2, ",")), mailbox)) { - if (has_voicemail(mbox, folder)) - return 1; + if(strchr(tmp2, ',')) { + while((mbox = strsep(&tmp2, ","))) { + if(!ast_strlen_zero(mbox)) { + if (has_voicemail(mbox, folder)) + return 1; + } + } } if ((context= strchr(tmp, '@'))) *context++ = '\0'; |