]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mail_index_atomic_inc_ext() now returns the current diff sum.
authorTimo Sirainen <tss@iki.fi>
Wed, 25 Mar 2009 19:18:50 +0000 (15:18 -0400)
committerTimo Sirainen <tss@iki.fi>
Wed, 25 Mar 2009 19:18:50 +0000 (15:18 -0400)
--HG--
branch : HEAD

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

index 14319b0e8c1d6863521e50ead1ec72d1ac81ae19..1e938f3a74f838069d65b4762273243f1cb5afe6 100644 (file)
@@ -1355,8 +1355,8 @@ void mail_index_update_ext(struct mail_index_transaction *t, uint32_t seq,
        }
 }
 
-void mail_index_atomic_inc_ext(struct mail_index_transaction *t, uint32_t seq,
-                              uint32_t ext_id, int diff)
+int mail_index_atomic_inc_ext(struct mail_index_transaction *t,
+                             uint32_t seq, uint32_t ext_id, int diff)
 {
        ARRAY_TYPE(seq_array) *array;
        int32_t old_diff32, diff32 = diff;
@@ -1380,6 +1380,7 @@ void mail_index_atomic_inc_ext(struct mail_index_transaction *t, uint32_t seq,
                mail_index_seq_array_add(array, seq, &diff32, sizeof(diff32),
                                         NULL);
        }
+       return diff32;
 }
 
 struct mail_keywords *
index 8082f2b69921973feea94bf9b314dbdf9e98a66e..469fd73f31e0abc17c87ee4d856da50c94c29650 100644 (file)
@@ -518,8 +518,9 @@ void mail_index_update_header_ext(struct mail_index_transaction *t,
    now overwriting. */
 void mail_index_update_ext(struct mail_index_transaction *t, uint32_t seq,
                           uint32_t ext_id, const void *data, void *old_data);
-/* Increase/decrease number in extension atomically. */
-void mail_index_atomic_inc_ext(struct mail_index_transaction *t, uint32_t seq,
-                              uint32_t ext_id, int diff);
+/* Increase/decrease number in extension atomically. Returns the sum of the
+   diffs for this seq. */
+int mail_index_atomic_inc_ext(struct mail_index_transaction *t,
+                             uint32_t seq, uint32_t ext_id, int diff);
 
 #endif