dovecot: When sorting appends, sort also keyword resets.

dovecot at dovecot.org dovecot at dovecot.org
Sat Sep 22 13:55:42 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/ed433a2a5f3d
changeset: 6447:ed433a2a5f3d
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Sep 22 12:31:52 2007 +0300
description:
When sorting appends, sort also keyword resets.

diffstat:

1 file changed, 18 insertions(+), 14 deletions(-)
src/lib-index/mail-index-transaction.c |   32 ++++++++++++++++++--------------

diffs (42 lines):

diff -r 0a44101371a4 -r ed433a2a5f3d src/lib-index/mail-index-transaction.c
--- a/src/lib-index/mail-index-transaction.c	Sat Sep 22 12:28:03 2007 +0300
+++ b/src/lib-index/mail-index-transaction.c	Sat Sep 22 12:31:52 2007 +0300
@@ -416,20 +416,24 @@ mail_index_transaction_sort_appends_keyw
 	struct mail_index_transaction_keyword_update *updates;
 	unsigned int i, count;
 
-	/* fix the order in keywords */
-	if (!array_is_created(&t->keyword_updates))
-		return;
-
-	updates = array_get_modifiable(&t->keyword_updates, &count);
-	for (i = 0; i < count; i++) {
-		if (array_is_created(&updates->add_seq)) {
-			sort_appends_seq_range(t, &updates[i].add_seq,
-					      old_to_newseq_map);
-		}
-		if (array_is_created(&updates->remove_seq)) {
-			sort_appends_seq_range(t, &updates[i].remove_seq,
-					      old_to_newseq_map);
-		}
+	if (array_is_created(&t->keyword_updates)) {
+		updates = array_get_modifiable(&t->keyword_updates, &count);
+		for (i = 0; i < count; i++) {
+			if (array_is_created(&updates->add_seq)) {
+				sort_appends_seq_range(t, &updates[i].add_seq,
+						       old_to_newseq_map);
+			}
+			if (array_is_created(&updates->remove_seq)) {
+				sort_appends_seq_range(t,
+						       &updates[i].remove_seq,
+						       old_to_newseq_map);
+			}
+		}
+	}
+
+	if (array_is_created(&t->keyword_resets)) {
+		sort_appends_seq_range(t, &t->keyword_resets,
+				       old_to_newseq_map);
 	}
 }
 


More information about the dovecot-cvs mailing list