From 128ea07dab8d67124ea74bcc085a478784b6358a Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 31 Aug 2011 12:29:21 +0300 Subject: [PATCH] lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer. --- src/doveadm/doveadm-dump-index.c | 2 +- src/lib-index/mail-cache-compress.c | 2 +- src/lib-index/mail-cache.c | 5 ++++- src/lib-index/mail-cache.h | 2 +- src/lib-storage/index/index-status.c | 2 +- src/lib-storage/index/index-transaction.c | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/doveadm/doveadm-dump-index.c b/src/doveadm/doveadm-dump-index.c index da697d90c9..d42a90d359 100644 --- a/src/doveadm/doveadm-dump-index.c +++ b/src/doveadm/doveadm-dump-index.c @@ -579,7 +579,7 @@ static void cmd_dump_index(int argc ATTR_UNUSED, char *argv[]) } T_END; } } - mail_cache_view_close(cache_view); + mail_cache_view_close(&cache_view); mail_index_view_close(&view); mail_index_close(index); mail_index_free(&index); diff --git a/src/lib-index/mail-cache-compress.c b/src/lib-index/mail-cache-compress.c index 2843620918..cb9b692916 100644 --- a/src/lib-index/mail-cache-compress.c +++ b/src/lib-index/mail-cache-compress.c @@ -280,7 +280,7 @@ mail_cache_copy(struct mail_cache *cache, struct mail_index_transaction *trans, o_stream_seek(output, 0); o_stream_send(output, &hdr, sizeof(hdr)); - mail_cache_view_close(cache_view); + mail_cache_view_close(&cache_view); if (o_stream_flush(output) < 0) { errno = output->stream_errno; diff --git a/src/lib-index/mail-cache.c b/src/lib-index/mail-cache.c index 79d232f6eb..f81db683bb 100644 --- a/src/lib-index/mail-cache.c +++ b/src/lib-index/mail-cache.c @@ -707,10 +707,13 @@ mail_cache_view_open(struct mail_cache *cache, struct mail_index_view *iview) return view; } -void mail_cache_view_close(struct mail_cache_view *view) +void mail_cache_view_close(struct mail_cache_view **_view) { + struct mail_cache_view *view = *_view; + i_assert(view->trans_view == NULL); + *_view = NULL; if (view->cache->field_header_write_pending && !view->cache->compressing) (void)mail_cache_header_fields_update(view->cache); diff --git a/src/lib-index/mail-cache.h b/src/lib-index/mail-cache.h index 824cf7dd00..846e526e3d 100644 --- a/src/lib-index/mail-cache.h +++ b/src/lib-index/mail-cache.h @@ -71,7 +71,7 @@ bool mail_cache_exists(struct mail_cache *cache); struct mail_cache_view * mail_cache_view_open(struct mail_cache *cache, struct mail_index_view *iview); -void mail_cache_view_close(struct mail_cache_view *view); +void mail_cache_view_close(struct mail_cache_view **view); /* Normally cache decisions are updated on lookup/add. Use this function to enable/disable this (useful for precaching data). */ diff --git a/src/lib-storage/index/index-status.c b/src/lib-storage/index/index-status.c index 4bfe873d65..54e671d071 100644 --- a/src/lib-storage/index/index-status.c +++ b/src/lib-storage/index/index-status.c @@ -26,7 +26,7 @@ get_last_cached_seq(struct mailbox *box, uint32_t *last_cached_seq_r) break; } } - mail_cache_view_close(cache_view); + mail_cache_view_close(&cache_view); } int index_storage_get_status(struct mailbox *box, diff --git a/src/lib-storage/index/index-transaction.c b/src/lib-storage/index/index-transaction.c index 2507d5687d..b92a82b278 100644 --- a/src/lib-storage/index/index-transaction.c +++ b/src/lib-storage/index/index-transaction.c @@ -7,7 +7,7 @@ static void index_transaction_free(struct mailbox_transaction_context *t) { - mail_cache_view_close(t->cache_view); + mail_cache_view_close(&t->cache_view); mail_index_view_close(&t->view); array_free(&t->module_contexts); i_free(t); -- 2.47.3