dovecot: Recent flag handling fix.

dovecot at dovecot.org dovecot at dovecot.org
Tue Aug 7 14:35:39 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/4e352390abb7
changeset: 6224:4e352390abb7
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Aug 07 14:35:34 2007 +0300
description:
Recent flag handling fix.

diffstat:

1 file changed, 4 insertions(+), 1 deletion(-)
src/lib-storage/index/mbox/mbox-sync.c |    5 ++++-

diffs (15 lines):

diff -r 895194c5aa2e -r 4e352390abb7 src/lib-storage/index/mbox/mbox-sync.c
--- a/src/lib-storage/index/mbox/mbox-sync.c	Tue Aug 07 14:32:56 2007 +0300
+++ b/src/lib-storage/index/mbox/mbox-sync.c	Tue Aug 07 14:35:34 2007 +0300
@@ -446,7 +446,10 @@ static int mbox_sync_update_index(struct
 		}
 	}
 
-	if (!mail_ctx->recent)
+	/* mail_ctx->recent is TRUE always if Status: O doesn't exist in the
+	   mbox file. With lazy writes another session could have taken it
+	   already, so we'll also have to check this from index header. */
+	if (!mail_ctx->recent || mail->uid < sync_ctx->hdr->first_recent_uid)
 		sync_ctx->last_nonrecent_uid = mail->uid;
 	else
 		index_mailbox_set_recent_uid(&sync_ctx->mbox->ibox, mail->uid);


More information about the dovecot-cvs mailing list