From: Timo Sirainen Date: Tue, 21 Jun 2016 18:06:22 +0000 (+0300) Subject: LAYOUT=index: Avoid unnecessary work for setting \Marked flags in LIST reply. X-Git-Tag: 2.3.0.rc1~3433 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=85c9cf2c39903ecb102d701e8b19a7cf364dce83;p=thirdparty%2Fdovecot%2Fcore.git LAYOUT=index: Avoid unnecessary work for setting \Marked flags in LIST reply. If MAILBOX_LIST_ITER_RETURN_NO_FLAGS is set, the caller doesn't care about the flags. --- diff --git a/src/lib-storage/list/mailbox-list-index-iter.c b/src/lib-storage/list/mailbox-list-index-iter.c index 08e02827b4..cbaf435032 100644 --- a/src/lib-storage/list/mailbox-list-index-iter.c +++ b/src/lib-storage/list/mailbox-list-index-iter.c @@ -101,10 +101,12 @@ mailbox_list_index_update_info(struct mailbox_list_index_iterate_context *ctx) &ctx->info.flags); } - box = mailbox_alloc(ctx->ctx.list, ctx->info.vname, 0); - mailbox_list_index_status_set_info_flags(box, node->uid, - &ctx->info.flags); - mailbox_free(&box); + if ((ctx->ctx.flags & MAILBOX_LIST_ITER_RETURN_NO_FLAGS) == 0) { + box = mailbox_alloc(ctx->ctx.list, ctx->info.vname, 0); + mailbox_list_index_status_set_info_flags(box, node->uid, + &ctx->info.flags); + mailbox_free(&box); + } } static void