dovecot-2.0: maildir: dropping expunged uidlist records didn't u...
dovecot at dovecot.org
dovecot at dovecot.org
Wed Jan 20 11:44:20 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/e48e81c2b874
changeset: 10566:e48e81c2b874
user: Timo Sirainen <tss at iki.fi>
date: Wed Jan 20 11:43:49 2010 +0200
description:
maildir: dropping expunged uidlist records didn't update hash table.
diffstat:
1 file changed, 4 insertions(+), 1 deletion(-)
src/lib-storage/index/maildir/maildir-uidlist.c | 5 ++++-
diffs (23 lines):
diff -r 32d6a4112147 -r e48e81c2b874 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c Wed Jan 20 11:27:38 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c Wed Jan 20 11:43:49 2010 +0200
@@ -1335,6 +1335,7 @@ maildir_uidlist_records_drop_expunges(st
rec = mail_index_lookup(view, seq);
if (recs[i]->uid < rec->uid) {
/* expunged entry */
+ hash_table_remove(uidlist->files, recs[i]->filename);
i++;
} else if (recs[i]->uid > rec->uid) {
/* index isn't up to date. we're probably just
@@ -1347,8 +1348,10 @@ maildir_uidlist_records_drop_expunges(st
}
/* drop messages expunged at the end of index */
- while (i < count && recs[i]->uid < hdr->next_uid)
+ while (i < count && recs[i]->uid < hdr->next_uid) {
+ hash_table_remove(uidlist->files, recs[i]->filename);
i++;
+ }
/* view might not be completely up-to-date, so preserve any
messages left */
for (; i < count; i++)
More information about the dovecot-cvs
mailing list