aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-09 17:25:09 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-09 17:25:09 +0000
commitc2466b2ad2645baa200f779b504572acb6e8c88d (patch)
tree1b41f456afe54c38dbbe05108aedf17c1c04120e /apps
parent5448fa9f9e72c6bf08162480e39edb11e2754a9e (diff)
Merged revisions 78749 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78749 | russell | 2007-08-09 12:24:40 -0500 (Thu, 09 Aug 2007) | 9 lines Fix subscriptions to multiple mailboxes for ODBC_STORAGE. Also, leave a comment for this to be fixed for IMAP_STORAGE, as well. I left IMAP alone since I know MarkM was working on this code right now for another reason. This is broken even worse in trunk, but for a different reason. The fact that the mailbox option supported multiple mailboxes is completely not obvious from the code in the channel drivers. Anyway, I will fix that in another commit ... ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78750 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_voicemail.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index aba334717..2bb86ea96 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -2438,17 +2438,16 @@ yuck:
static int has_voicemail(const char *mailbox, const char *folder)
{
- char *context, tmp[256];
+ char tmp[256], *tmp2 = tmp, *mbox, *context;
ast_copy_string(tmp, mailbox, sizeof(tmp));
- if ((context = strchr(tmp, '@')))
- *context++ = '\0';
- else
- context = "default";
-
- if (messagecount(context, tmp, folder))
- return 1;
- else
- return 0;
+ while ((context = mbox = strsep(&tmp2, ","))) {
+ strsep(&context, "@");
+ if (ast_strlen_zero(context))
+ context = "default";
+ if (messagecount(context, mbox, folder))
+ return 1;
+ }
+ return 0;
}
#elif defined(IMAP_STORAGE)
@@ -2670,6 +2669,8 @@ static int inboxcount(const char *mailbox, int *newmsgs, int *oldmsgs)
return 0;
}
+/*! XXX \todo Fix this function to support multiple mailboxes separated
+ * by commas */
static int has_voicemail(const char *mailbox, const char *folder)
{
int newmsgs, oldmsgs;