From: Marco Bettini Date: Mon, 14 Jul 2025 10:02:53 +0000 (+0000) Subject: imapc: imapc_untagged_list() - Handle the \Subscribed flag X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d97ca29baa9f34af3dc1af0e958ea41a8acb1127;p=thirdparty%2Fdovecot%2Fcore.git imapc: imapc_untagged_list() - Handle the \Subscribed flag These are especially needed in the following change that uses LIST (SUBSCRIBED) --- diff --git a/src/lib-storage/index/imapc/imapc-list.c b/src/lib-storage/index/imapc/imapc-list.c index b40eddf011..3eb3dfc63f 100644 --- a/src/lib-storage/index/imapc/imapc-list.c +++ b/src/lib-storage/index/imapc/imapc-list.c @@ -272,7 +272,15 @@ static void imapc_untagged_list(const struct imapc_untagged_reply *reply, list->root_sep = sep == NULL ? '/' : sep[0]; mailbox_tree_set_separator(list->mailboxes, list->root_sep); } else { - (void)imapc_list_update_tree(list, list->mailboxes, args); + struct mailbox_node *node = + imapc_list_update_tree(list, list->mailboxes, args); + if (node != NULL && (node->flags & MAILBOX_SUBSCRIBED) != 0) { + struct mailbox_tree_context *tree = + list->tmp_subscriptions != NULL ? + list->tmp_subscriptions : + list->list.subscriptions; + (void)imapc_list_update_tree(list, tree, args); + } } }