Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6055:437dce5162c5 HEAD
If we're only listing subscriptions without flags, ignore mailbox indexes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 18 Jul 2007 01:57:45 +0300 |
parents | d0787ca97a0c |
children | b06dfb878783 |
files | src/lib-storage/list/index-mailbox-list.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/list/index-mailbox-list.c Wed Jul 18 01:45:34 2007 +0300 +++ b/src/lib-storage/list/index-mailbox-list.c Wed Jul 18 01:57:45 2007 +0300 @@ -117,13 +117,18 @@ struct index_mailbox_list_iterate_context *ctx; enum mailbox_list_sync_flags sync_flags; const char *prefix, *cur_prefix, *const *tmp, *tmp_patterns[2]; + enum mailbox_list_iter_flags subs_flags; int cur_recurse_level; ctx = i_new(struct index_mailbox_list_iterate_context, 1); ctx->ctx.list = list; ctx->ctx.flags = flags; - if ((flags & MAILBOX_LIST_ITER_RAW_LIST) != 0) { + subs_flags = MAILBOX_LIST_ITER_SELECT_SUBSCRIBED | + MAILBOX_LIST_ITER_RETURN_NO_FLAGS; + if ((flags & MAILBOX_LIST_ITER_RAW_LIST) != 0 || + (flags & (subs_flags | + MAILBOX_LIST_ITER_RETURN_CHILDREN)) == subs_flags) { /* Ignore indexes completely */ ctx->backend_ctx = ilist->module_ctx.super. iter_init(list, patterns, flags);