changeset 13339:b355309955f4

lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer.
author Timo Sirainen <tss@iki.fi>
date Wed, 31 Aug 2011 12:29:21 +0300
parents 986fdb5deb7a
children 6c6834984a42
files src/doveadm/doveadm-dump-index.c src/lib-index/mail-cache-compress.c src/lib-index/mail-cache.c src/lib-index/mail-cache.h src/lib-storage/index/index-status.c src/lib-storage/index/index-transaction.c
diffstat 6 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-dump-index.c	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/doveadm/doveadm-dump-index.c	Wed Aug 31 12:29:21 2011 +0300
@@ -579,7 +579,7 @@
 			} 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);
--- a/src/lib-index/mail-cache-compress.c	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/lib-index/mail-cache-compress.c	Wed Aug 31 12:29:21 2011 +0300
@@ -280,7 +280,7 @@
 	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;
--- a/src/lib-index/mail-cache.c	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/lib-index/mail-cache.c	Wed Aug 31 12:29:21 2011 +0300
@@ -707,10 +707,13 @@
 	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);
--- a/src/lib-index/mail-cache.h	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/lib-index/mail-cache.h	Wed Aug 31 12:29:21 2011 +0300
@@ -71,7 +71,7 @@
 
 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). */
--- a/src/lib-storage/index/index-status.c	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/lib-storage/index/index-status.c	Wed Aug 31 12:29:21 2011 +0300
@@ -26,7 +26,7 @@
 			break;
 		}
 	}
-	mail_cache_view_close(cache_view);
+	mail_cache_view_close(&cache_view);
 }
 
 int index_storage_get_status(struct mailbox *box,
--- a/src/lib-storage/index/index-transaction.c	Wed Aug 31 12:02:29 2011 +0300
+++ b/src/lib-storage/index/index-transaction.c	Wed Aug 31 12:29:21 2011 +0300
@@ -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);