From: Timo Sirainen Date: Wed, 31 Aug 2011 09:29:21 +0000 (+0300) Subject: lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer. X-Git-Tag: 2.1.alpha1~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=128ea07dab8d67124ea74bcc085a478784b6358a;p=thirdparty%2Fdovecot%2Fcore.git lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer. --- 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);