Merged revisions 108927 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

........
r108927 | russell | 2008-03-16 12:53:46 -0500 (Sun, 16 Mar 2008) | 7 lines

Fix polling for mailbox changes in mailboxes that are not in the default vm context.

(closes issue #12223)
Reported by: DEA
Patches: 
      vm-polled-imap.txt uploaded by DEA (license 3)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@108928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Russell Bryant 17 years ago
parent 7e74bd7557
commit 4b5da21ef2

@ -7999,6 +7999,7 @@ static void mwi_unsub_event_cb(const struct ast_event *event, void *userdata)
static void mwi_sub_event_cb(const struct ast_event *event, void *userdata)
{
const char *mailbox;
const char *context;
uint32_t uniqueid;
unsigned int len;
struct mwi_sub *mwi_sub;
@ -8010,12 +8011,16 @@ static void mwi_sub_event_cb(const struct ast_event *event, void *userdata)
return;
mailbox = ast_event_get_ie_str(event, AST_EVENT_IE_MAILBOX);
context = ast_event_get_ie_str(event, AST_EVENT_IE_CONTEXT);
uniqueid = ast_event_get_ie_uint(event, AST_EVENT_IE_UNIQUEID);
len = sizeof(*mwi_sub);
if (!ast_strlen_zero(mailbox))
len += strlen(mailbox);
if (!ast_strlen_zero(context))
len += strlen(context) + 1; /* Allow for seperator */
if (!(mwi_sub = ast_calloc(1, len)))
return;
@ -8023,6 +8028,11 @@ static void mwi_sub_event_cb(const struct ast_event *event, void *userdata)
if (!ast_strlen_zero(mailbox))
strcpy(mwi_sub->mailbox, mailbox);
if (!ast_strlen_zero(context)) {
strcat(mwi_sub->mailbox, "@");
strcat(mwi_sub->mailbox, context);
}
AST_RWLIST_WRLOCK(&mwi_subs);
AST_RWLIST_INSERT_TAIL(&mwi_subs, mwi_sub, entry);
AST_RWLIST_UNLOCK(&mwi_subs);

Loading…
Cancel
Save