[asterisk-commits] russell: branch 1.4 r78749 - /branches/1.4/apps/app_voicemail.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 9 12:24:41 CDT 2007
Author: russell
Date: Thu Aug 9 12:24:40 2007
New Revision: 78749
URL: http://svn.digium.com/view/asterisk?view=rev&rev=78749
Log:
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 ...
Modified:
branches/1.4/apps/app_voicemail.c
Modified: branches/1.4/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/apps/app_voicemail.c?view=diff&rev=78749&r1=78748&r2=78749
==============================================================================
--- branches/1.4/apps/app_voicemail.c (original)
+++ branches/1.4/apps/app_voicemail.c Thu Aug 9 12:24:40 2007
@@ -2253,17 +2253,16 @@
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)
@@ -2483,6 +2482,8 @@
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;
More information about the asterisk-commits
mailing list