# HG changeset patch # User Timo Sirainen # Date 1203597961 -7200 # Node ID 1d87dc550378db3068f752525407e0b1f4c601af # Parent 1e5deb36a79f0cf8bffec83d02cbd838146ebd3b Fixed "uid_validity updated unexpectedly" errors when mbox file was being recreated and index files still existed. diff -r 1e5deb36a79f -r 1d87dc550378 src/lib-storage/index/mbox/mbox-sync.c --- 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,