From: Timo Sirainen Date: Sat, 28 Jan 2012 18:21:10 +0000 (+0200) Subject: lib-storage: Thread iteration no longer returns dummy nodes without children. X-Git-Tag: 2.1.rc6~117 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9127f033d120fe407e9fd2cb21050dad39fd397;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Thread iteration no longer returns dummy nodes without children. This fixes returning (0) nodes to IMAP client. --- diff --git a/src/lib-storage/index/index-thread-finish.c b/src/lib-storage/index/index-thread-finish.c index 84e5b17d5a..a5ddfb2fa5 100644 --- a/src/lib-storage/index/index-thread-finish.c +++ b/src/lib-storage/index/index-thread-finish.c @@ -655,6 +655,11 @@ mail_thread_iterate_next(struct mail_thread_iterate_context *iter, *child_iter_r = shadow->first_child_idx == 0 ? NULL : mail_thread_iterate_children(iter, child->idx); } + if (child->uid == 0 && *child_iter_r == NULL) { + /* this is a dummy node without children, + there's no point in returning it */ + return mail_thread_iterate_next(iter, child_iter_r); + } return child; }