]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
merging expunge buffers sometimes produced wrong results
authorTimo Sirainen <tss@iki.fi>
Wed, 16 Jun 2004 00:46:51 +0000 (03:46 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 16 Jun 2004 00:46:51 +0000 (03:46 +0300)
--HG--
branch : HEAD

src/lib-index/mail-transaction-util.c

index fc10066814c1df42cc16e4714ba12fe6762fc728..276507c51f1348f2d23769d581fa29007696ccfe 100644 (file)
@@ -207,7 +207,8 @@ mail_transaction_log_sort_expunges(buffer_t *expunges_buf,
 
                if (first > 0 && new_exp.uid1 <= dest[first-1].uid2+1) {
                        /* continue previous record */
-                       dest[first-1].uid2 = new_exp.uid2;
+                       if (dest[first-1].uid2 < new_exp.uid2)
+                               dest[first-1].uid2 = new_exp.uid2;
                } else if (i == first) {
                        buffer_insert(expunges_buf, i * sizeof(new_exp),
                                      &new_exp, sizeof(new_exp));