Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5344:da77f5dd7854 HEAD
We didn't always expunge deleted mailboxes from mail index.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 16 Mar 2007 02:18:13 +0200 |
parents | cdf39128dd91 |
children | 063c892d0439 |
files | src/lib-index/mailbox-list-index-sync.c |
diffstat | 1 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mailbox-list-index-sync.c Fri Mar 16 01:30:35 2007 +0200 +++ b/src/lib-index/mailbox-list-index-sync.c Fri Mar 16 02:18:13 2007 +0200 @@ -639,6 +639,7 @@ struct mailbox_list_record *recs; const struct mailbox_list_sync_record *sync_recs; unsigned int i, j, count; + uint32_t seq; i_assert(sync_dir->offset != 0); @@ -668,8 +669,17 @@ i_assert(j < dir->count); } - if (!sync_recs[i].seen) + if (!sync_recs[i].seen) { recs[j].deleted = TRUE; + + /* expunge from mail index */ + if (mail_index_lookup_uid_range(ctx->mail_view, + sync_recs[i].uid, + sync_recs[i].uid, + &seq, &seq) == 0 && + seq != 0) + mail_index_expunge(ctx->trans, seq); + } } if (ctx->index->mmap_disable) { uoff_t offset, old_offset;