From: Timo Sirainen Date: Wed, 25 Mar 2009 19:18:50 +0000 (-0400) Subject: mail_index_atomic_inc_ext() now returns the current diff sum. X-Git-Tag: 2.0.alpha1~1038^2~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b7a5580abb62dd82e82e58ed81dcb307ed338144;p=thirdparty%2Fdovecot%2Fcore.git mail_index_atomic_inc_ext() now returns the current diff sum. --HG-- branch : HEAD --- diff --git a/src/lib-index/mail-index-transaction.c b/src/lib-index/mail-index-transaction.c index 14319b0e8c..1e938f3a74 100644 --- a/src/lib-index/mail-index-transaction.c +++ b/src/lib-index/mail-index-transaction.c @@ -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 * diff --git a/src/lib-index/mail-index.h b/src/lib-index/mail-index.h index 8082f2b699..469fd73f31 100644 --- a/src/lib-index/mail-index.h +++ b/src/lib-index/mail-index.h @@ -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