From: Timo Sirainen Date: Thu, 18 Feb 2010 03:26:51 +0000 (+0200) Subject: maildir: Message GUID wasn't correctly set to expunge-GUID transaction records. X-Git-Tag: 2.0.beta3~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4a6c27b85b71b535b827ef512ec88416a982dc38;p=thirdparty%2Fdovecot%2Fcore.git maildir: Message GUID wasn't correctly set to expunge-GUID transaction records. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/maildir/maildir-sync-index.c b/src/lib-storage/index/maildir/maildir-sync-index.c index 2b3dd1c8f3..a28295f077 100644 --- a/src/lib-storage/index/maildir/maildir-sync-index.c +++ b/src/lib-storage/index/maildir/maildir-sync-index.c @@ -45,8 +45,10 @@ maildir_index_expunge(struct maildir_index_sync_context *ctx, uint32_t seq) enum maildir_uidlist_rec_flag flags; uint8_t guid_128[MAIL_GUID_128_SIZE]; const char *fname; + uint32_t uid; - if (maildir_uidlist_lookup(ctx->mbox->uidlist, ctx->uid, + mail_index_lookup_uid(ctx->view, seq, &uid); + if (maildir_uidlist_lookup(ctx->mbox->uidlist, uid, &flags, &fname) <= 0) memset(guid_128, 0, sizeof(guid_128)); else T_BEGIN { @@ -602,10 +604,8 @@ int maildir_sync_index(struct maildir_index_sync_context *ctx, if (!partial) { /* expunge the rest */ - for (seq++; seq <= hdr->messages_count; seq++) { - mail_index_lookup_uid(ctx->view, seq, &ctx->uid); + for (seq++; seq <= hdr->messages_count; seq++) maildir_index_expunge(ctx, seq); - } } /* add \Recent flags. use updated view so it contains newly