dovecot-2.0: dsync: Sync also \Recent flags.

dovecot at dovecot.org dovecot at dovecot.org
Tue Jul 28 20:57:10 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/4d12ca03c4c0
changeset: 9688:4d12ca03c4c0
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jul 28 13:56:57 2009 -0400
description:
dsync: Sync also \Recent flags.

diffstat:

4 files changed, 5 insertions(+), 7 deletions(-)
src/dsync/dsync-proxy-client.c          |    2 +-
src/dsync/dsync-proxy.c                 |    3 +--
src/dsync/test-dsync-proxy-server-cmd.c |    4 ++--
src/dsync/test-dsync-proxy.c            |    3 +--

diffs (73 lines):

diff -r ce253d167757 -r 4d12ca03c4c0 src/dsync/dsync-proxy-client.c
--- a/src/dsync/dsync-proxy-client.c	Mon Jul 27 19:07:46 2009 -0400
+++ b/src/dsync/dsync-proxy-client.c	Tue Jul 28 13:56:57 2009 -0400
@@ -501,7 +501,7 @@ proxy_client_worker_msg_update_metadata(
 
 		str_printfa(str, "MSG-UPDATE\t%u\t%llu\t", msg->uid,
 			    (unsigned long long)msg->modseq);
-		imap_write_flags(str, msg->flags & ~MAIL_RECENT, msg->keywords);
+		imap_write_flags(str, msg->flags, msg->keywords);
 		str_append_c(str, '\n');
 		o_stream_send(worker->output, str_data(str), str_len(str));
 	} T_END;
diff -r ce253d167757 -r 4d12ca03c4c0 src/dsync/dsync-proxy.c
--- a/src/dsync/dsync-proxy.c	Mon Jul 27 19:07:46 2009 -0400
+++ b/src/dsync/dsync-proxy.c	Tue Jul 28 13:56:57 2009 -0400
@@ -21,7 +21,7 @@ void dsync_proxy_msg_export(string_t *st
 		    (unsigned long long)msg->modseq);
 	if ((msg->flags & DSYNC_MAIL_FLAG_EXPUNGED) != 0)
 		str_append(str, "\\dsync-expunged ");
-	imap_write_flags(str, msg->flags & MAIL_FLAGS_NONRECENT, msg->keywords);
+	imap_write_flags(str, msg->flags & MAIL_FLAGS_MASK, msg->keywords);
 	str_printfa(str, "\t%ld", (long)msg->save_date);
 }
 
@@ -49,7 +49,6 @@ int dsync_proxy_msg_parse_flags(pool_t p
 	}
 	(void)array_append_space(&keywords);
 
-	msg_r->flags &= ~MAIL_RECENT;
 	msg_r->keywords = array_idx(&keywords, 0);
 	return 0;
 }
diff -r ce253d167757 -r 4d12ca03c4c0 src/dsync/test-dsync-proxy-server-cmd.c
--- a/src/dsync/test-dsync-proxy-server-cmd.c	Mon Jul 27 19:07:46 2009 -0400
+++ b/src/dsync/test-dsync-proxy-server-cmd.c	Tue Jul 28 13:56:57 2009 -0400
@@ -11,7 +11,7 @@
 #include "test-dsync-worker.h"
 #include "test-dsync-common.h"
 
-#define ALL_MAIL_FLAGS "\\Answered \\Flagged \\Deleted \\Seen \\Draft"
+#define ALL_MAIL_FLAGS "\\Answered \\Flagged \\Deleted \\Seen \\Draft \\Recent"
 
 static string_t *out;
 static struct dsync_proxy_server *server;
@@ -222,7 +222,7 @@ static void test_dsync_proxy_msg_update(
 	test_assert(event.type == LAST_MSG_TYPE_UPDATE);
 	test_assert(event.msg.uid == 123);
 	test_assert(event.msg.modseq == 4782782842924);
-	test_assert(event.msg.flags == MAIL_FLAGS_NONRECENT);
+	test_assert(event.msg.flags == MAIL_FLAGS_MASK);
 	test_assert(strcmp(event.msg.keywords[0], "kw1") == 0);
 	test_assert(strcmp(event.msg.keywords[1], "kw2") == 0);
 	test_assert(event.msg.keywords[2] == NULL);
diff -r ce253d167757 -r 4d12ca03c4c0 src/dsync/test-dsync-proxy.c
--- a/src/dsync/test-dsync-proxy.c	Mon Jul 27 19:07:46 2009 -0400
+++ b/src/dsync/test-dsync-proxy.c	Tue Jul 28 13:56:57 2009 -0400
@@ -57,7 +57,6 @@ static void test_dsync_proxy_msg(void)
 	dsync_proxy_msg_export(str, &msg_in);
 	test_assert(dsync_proxy_msg_import(pool, str_c(str),
 					   &msg_out, &error) == 0);
-	msg_in.flags &= ~MAIL_RECENT;
 	test_assert(dsync_messages_equal(&msg_in, &msg_out));
 
 	/* errors */
@@ -74,7 +73,7 @@ static void test_dsync_proxy_msg(void)
 	test_assert(dsync_proxy_msg_parse_flags(pool, "\\answered \\flagged", &msg_out) == 0);
 	test_assert(msg_out.flags == (MAIL_ANSWERED | MAIL_FLAGGED));
 	test_assert(dsync_proxy_msg_parse_flags(pool, "\\deleted \\recent", &msg_out) == 0);
-	test_assert(msg_out.flags == MAIL_DELETED);
+	test_assert(msg_out.flags == (MAIL_DELETED | MAIL_RECENT));
 	test_assert(dsync_proxy_msg_parse_flags(pool, "\\draft draft \\seen", &msg_out) == 0);
 	test_assert(msg_out.flags == (MAIL_DRAFT | MAIL_SEEN));
 	test_assert(strcasecmp(msg_out.keywords[0], "draft") == 0 && msg_out.keywords[1] == NULL);


More information about the dovecot-cvs mailing list