From: Timo Sirainen Date: Mon, 10 Aug 2009 17:50:01 +0000 (-0400) Subject: maildir: Another fix to handling saves/UID changes. X-Git-Tag: 2.0.alpha1~291 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=68c719f28cb3abdcbf9e38c8b0ed27ee934e933b;p=thirdparty%2Fdovecot%2Fcore.git maildir: Another fix to handling saves/UID changes. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/maildir/maildir-save.c b/src/lib-storage/index/maildir/maildir-save.c index 89471dc8f7..c14476e4ef 100644 --- a/src/lib-storage/index/maildir/maildir-save.c +++ b/src/lib-storage/index/maildir/maildir-save.c @@ -712,16 +712,16 @@ maildir_save_set_recent_flags(struct maildir_save_context *ctx) unsigned int i, count; uint32_t uid; - uids = array_get(&saved_sorted_uids, &count); + count = array_count(&ctx->ctx.transaction->changes->saved_uids); if (count == 0) return 0; - t_array_init(&saved_sorted_uids, - array_count(&ctx->ctx.transaction->changes->saved_uids)); + t_array_init(&saved_sorted_uids, count); array_append_array(&saved_sorted_uids, &ctx->ctx.transaction->changes->saved_uids); array_sort(&saved_sorted_uids, seq_range_cmp); + uids = array_get(&saved_sorted_uids, &count); for (i = 0; i < count; i++) { for (uid = uids[i].seq1; uid <= uids[i].seq2; uid++) index_mailbox_set_recent_uid(&mbox->ibox, uid);