From: Timo Sirainen Date: Sun, 11 Jul 2010 17:56:39 +0000 (+0100) Subject: lib-storage: mailbox_get_expunges() didn't return any expunges if modseq was too... X-Git-Tag: 2.0.rc3~88 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=77ffa7a0ec430dfbdb533442ba7d2a9cc5df802e;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mailbox_get_expunges() didn't return any expunges if modseq was too low. This fixes problems with dsync creating back expunged messages. --- diff --git a/src/lib-storage/index/index-fetch.c b/src/lib-storage/index/index-fetch.c index 9191477975..55ec33630f 100644 --- a/src/lib-storage/index/index-fetch.c +++ b/src/lib-storage/index/index-fetch.c @@ -88,8 +88,10 @@ bool index_storage_get_expunges(struct mailbox *box, uint64_t prev_modseq, int ret; if (!mail_index_modseq_get_next_log_offset(box->view, prev_modseq, - &log_seq, &log_offset)) - return FALSE; + &log_seq, &log_offset)) { + log_seq = 1; + log_offset = 0; + } if (log_seq > box->view->log_file_head_seq || (log_seq == box->view->log_file_head_seq && log_offset >= box->view->log_file_head_offset)) {