Mercurial > dovecot > core-2.2
changeset 9688:4d12ca03c4c0 HEAD
dsync: Sync also \Recent flags.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 28 Jul 2009 13:56:57 -0400 |
parents | ce253d167757 |
children | ceb55c870ed3 |
files | src/dsync/dsync-proxy-client.c src/dsync/dsync-proxy.c src/dsync/test-dsync-proxy-server-cmd.c src/dsync/test-dsync-proxy.c |
diffstat | 4 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ 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;
--- 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 @@ (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 @@ } (void)array_append_space(&keywords); - msg_r->flags &= ~MAIL_RECENT; msg_r->keywords = array_idx(&keywords, 0); return 0; }
--- 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 @@ 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);
--- 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 @@ 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 @@ 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);