{
char buf[SIZ];
int ra;
+ char **data_for_callback;
char *pattern;
+ char *verb;
- pattern = (char *) data;
+ data_for_callback = data;
+ pattern = data_for_callback[0];
+ verb = data_for_callback[1];
/* Only list rooms to which the user has access!! */
CtdlRoomAccess(qrbuf, &CC->user, &ra, NULL);
if (ra & UA_KNOWN) {
imap_mailboxname(buf, sizeof buf, qrbuf);
if (imap_mailbox_matches_pattern(pattern, buf)) {
- cprintf("* LSUB () \"/\" ");
+ cprintf("* %s () \"/\" ", verb);
imap_strout(buf);
cprintf("\r\n");
}
{
char buf[SIZ];
int ra;
+ char **data_for_callback;
char *pattern;
+ char *verb;
- pattern = (char *) data;
+ data_for_callback = data;
+ pattern = data_for_callback[0];
+ verb = data_for_callback[1];
/* Only list rooms to which the user has access!! */
CtdlRoomAccess(qrbuf, &CC->user, &ra, NULL);
|| ((ra & UA_GOTOALLOWED) && (ra & UA_ZAPPED))) {
imap_mailboxname(buf, sizeof buf, qrbuf);
if (imap_mailbox_matches_pattern(pattern, buf)) {
- cprintf("* LIST () \"/\" ");
+ cprintf("* %s () \"/\" ", verb);
imap_strout(buf);
cprintf("\r\n");
}
char verb[16];
int i, j;
+ char *data_for_callback[3];
+
if (num_parms < 4) {
cprintf("%s BAD arguments invalid\r\n", parms[0]);
return;
snprintf(pattern, sizeof pattern, "%s%s", parms[2], parms[3]);
+ data_for_callback[0] = pattern;
+ data_for_callback[1] = verb;
+ data_for_callback[2] = "All your base are belong to us.";
+
if (strlen(parms[3]) == 0) {
cprintf("* %s (\\Noselect) \"/\" \"\"\r\n", verb);
}
imap_list_floors(verb, pattern);
ForEachRoom(
(subscribed_rooms_only ? imap_lsub_listroom : imap_list_listroom),
- pattern
+ data_for_callback
);
}