dovecot-2.0-sslstream: maildir: dropping expunged uidlist record...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:57:28 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/e48e81c2b874
changeset: 10567: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