changeset 8015:73b4fe95a6dd HEAD

Maildir: Check more correctly when we should update/recreate uidlist.
author Timo Sirainen <tss@iki.fi>
date Sun, 20 Jul 2008 15:41:57 +0300
parents cb2650c20a58
children 8b240457c4a4
files src/lib-storage/index/maildir/maildir-uidlist.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Wed Jun 18 03:18:56 2008 +0300
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Sun Jul 20 15:41:57 2008 +0300
@@ -1161,6 +1161,9 @@
 {
 	unsigned int min_rewrite_count;
 
+	if (!ctx->uidlist->initial_read)
+		return FALSE;
+
 	min_rewrite_count =
 		(ctx->uidlist->read_records_count + ctx->new_files_count) *
 		UIDLIST_COMPRESS_PERCENTAGE / 100;
@@ -1171,14 +1174,15 @@
 {
 	struct maildir_uidlist *uidlist = ctx->uidlist;
 
+	if (uidlist->recreate ||
+	    ctx->finish_change_counter != uidlist->change_counter)
+		return TRUE;
+
 	if (!uidlist->initial_read)
 		return FALSE;
 
-	if (uidlist->recreate || uidlist->fd == -1 ||
-	    uidlist->version != UIDLIST_VERSION ||
-	    ctx->finish_change_counter != uidlist->change_counter)
+	if (uidlist->fd == -1 || uidlist->version != UIDLIST_VERSION)
 		return TRUE;
-
 	return maildir_uidlist_want_compress(ctx);
 }