From b7a5580abb62dd82e82e58ed81dcb307ed338144 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 25 Mar 2009 15:18:50 -0400 Subject: [PATCH] mail_index_atomic_inc_ext() now returns the current diff sum. --HG-- branch : HEAD --- src/lib-index/mail-index-transaction.c | 5 +++-- src/lib-index/mail-index.h | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) 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 -- 2.47.3