changeset 12534:059277ba8a75

maildir: Avoid unnecessarily reading uidlist when opening mailbox.
author Timo Sirainen <tss@iki.fi>
date Mon, 06 Dec 2010 01:20:14 +0000
parents 67257180c7ea
children b399c8dd1650
files src/lib-storage/index/maildir/maildir-sync.c
diffstat 1 files changed, 9 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync.c	Mon Dec 06 01:11:07 2010 +0000
+++ b/src/lib-storage/index/maildir/maildir-sync.c	Mon Dec 06 01:20:14 2010 +0000
@@ -685,16 +685,15 @@
 				     new_changed_r, cur_changed_r) < 0)
 		return -1;
 
-	if (have_recent_messages(ctx)) {
-		if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
-			*new_changed_r = TRUE;
-		} else if (*new_changed_r) {
-			/* we have some recent messages and new/ has changed.
-			   if messages had been externally deleted from new/,
-			   we need to get them out of index. this requires that
-			   we make sure they weren't just moved to cur/. */
-			*cur_changed_r = TRUE;
-		}
+	if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
+		if (!*new_changed_r)
+			*new_changed_r = have_recent_messages(ctx);
+	} else if (*new_changed_r) {
+		/* we have some recent messages and new/ has changed.
+		   if messages had been externally deleted from new/,
+		   we need to get them out of index. this requires that
+		   we make sure they weren't just moved to cur/. */
+		*cur_changed_r = have_recent_messages(ctx);
 	}
 
 	if (*new_changed_r || *cur_changed_r)