]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mail index transaction: Dropping duplicate expunges changed expunges' GUIDs.
authorTimo Sirainen <tss@iki.fi>
Tue, 14 Jul 2009 21:54:23 +0000 (17:54 -0400)
committerTimo Sirainen <tss@iki.fi>
Tue, 14 Jul 2009 21:54:23 +0000 (17:54 -0400)
--HG--
branch : HEAD

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

index 88e5229e721151cc2a2ad1e1776fe755d2233bb3..3f428101c51a5e4f66dc552a006555739508bf8b 100644 (file)
@@ -351,8 +351,11 @@ static void expunges_convert_to_uids(struct mail_index_transaction *t)
        for (src = dest = 1; src < count; src++) {
                expunges[dest].uid =
                        mail_index_transaction_get_uid(t, expunges[src].uid);
-               if (expunges[dest-1].uid != expunges[dest].uid)
+               if (expunges[dest-1].uid != expunges[dest].uid) {
+                       memcpy(expunges[dest].guid_128, expunges[src].guid_128,
+                              sizeof(expunges[dest].guid_128));
                        dest++;
+               }
        }
        array_delete(&t->expunges, dest, count-dest);
 }