changeset 7273:1d87dc550378 HEAD

Fixed "uid_validity updated unexpectedly" errors when mbox file was being recreated and index files still existed.
author Timo Sirainen <tss@iki.fi>
date Thu, 21 Feb 2008 14:46:01 +0200
parents 1e5deb36a79f
children da971cec0395
files src/lib-storage/index/mbox/mbox-sync.c
diffstat 1 files changed, 6 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-sync.c	Thu Feb 21 13:43:17 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-sync.c	Thu Feb 21 14:46:01 2008 +0200
@@ -1324,15 +1324,12 @@
 	   is entirely empty. In that case just make up a new one if needed. */
 	i_assert(sync_ctx->base_uid_validity != 0 || st->st_size == 0);
 
-	if (sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity ||
-	    sync_ctx->base_uid_validity == 0) {
-		if (sync_ctx->base_uid_validity == 0) {
-                        sync_ctx->base_uid_validity =
-				sync_ctx->hdr->uid_validity != 0 ?
-				sync_ctx->hdr->uid_validity :
-				(unsigned int)ioloop_time;
-		}
-
+	if (sync_ctx->base_uid_validity == 0) {
+		sync_ctx->base_uid_validity = sync_ctx->hdr->uid_validity != 0 ?
+			sync_ctx->hdr->uid_validity :
+			I_MIN((unsigned int)ioloop_time, 1);
+	}
+	if (sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity) {
 		mail_index_update_header(sync_ctx->t,
 			offsetof(struct mail_index_header, uid_validity),
 			&sync_ctx->base_uid_validity,