dovecot: When saving mail, it wasn't set \Recent when \Seen flag...

dovecot at dovecot.org dovecot at dovecot.org
Fri Dec 21 19:46:28 EET 2007


details:   http://hg.dovecot.org/dovecot/rev/2f25031c4a84
changeset: 7012:2f25031c4a84
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Dec 21 19:46:24 2007 +0200
description:
When saving mail, it wasn't set \Recent when \Seen flag was also set.

diffstat:

1 file changed, 5 insertions(+), 8 deletions(-)
src/lib-storage/index/mbox/mbox-save.c |   13 +++++--------

diffs (33 lines):

diff -r 71b9541adad1 -r 2f25031c4a84 src/lib-storage/index/mbox/mbox-save.c
--- a/src/lib-storage/index/mbox/mbox-save.c	Fri Dec 21 18:40:10 2007 +0200
+++ b/src/lib-storage/index/mbox/mbox-save.c	Fri Dec 21 19:46:24 2007 +0200
@@ -222,11 +222,10 @@ static void status_flags_append(string_t
 
 static void mbox_save_append_flag_headers(string_t *str, enum mail_flags flags)
 {
-	if ((flags & STATUS_FLAGS_MASK) != 0) {
-		str_append(str, "Status: ");
-		status_flags_append(str, flags, mbox_status_flags);
-		str_append_c(str, '\n');
-	}
+	/* write the Status: header always. It always gets added soon anyway. */
+	str_append(str, "Status: ");
+	status_flags_append(str, flags, mbox_status_flags);
+	str_append_c(str, '\n');
 
 	if ((flags & XSTATUS_FLAGS_MASK) != 0) {
 		str_append(str, "X-Status: ");
@@ -471,12 +470,10 @@ int mbox_save_init(struct mailbox_transa
 				    ctx->uid_validity, ctx->next_uid);
 		}
 		str_printfa(ctx->headers, "X-UID: %u\n", ctx->next_uid);
-		if (!mbox->ibox.keep_recent)
-			save_flags &= ~MAIL_RECENT;
 
 		mail_index_append(ctx->trans, ctx->next_uid, &ctx->seq);
 		mail_index_update_flags(ctx->trans, ctx->seq, MODIFY_REPLACE,
-					save_flags);
+					save_flags & ~MAIL_RECENT);
 		if (keywords != NULL) {
 			mail_index_update_keywords(ctx->trans, ctx->seq,
 						   MODIFY_REPLACE, keywords);


More information about the dovecot-cvs mailing list