changeset 10719:debbf3f39e0c HEAD

lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check for it.
author Timo Sirainen <tss@iki.fi>
date Mon, 15 Feb 2010 02:57:56 +0200
parents e8fc01d03aea
children 26b9138d561f
files src/lib-storage/index/cydir/cydir-storage.c src/lib-storage/index/dbox-multi/mdbox-storage.c src/lib-storage/index/dbox-single/sdbox-storage.c src/lib-storage/index/index-storage.c src/lib-storage/index/index-storage.h src/lib-storage/index/maildir/maildir-storage.c src/lib-storage/index/mbox/mbox-storage.c src/lib-storage/index/raw/raw-storage.c src/lib-storage/mail-storage.c
diffstat 9 files changed, 13 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/cydir/cydir-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/cydir/cydir-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -140,7 +140,7 @@
 		index_storage_mailbox_enable,
 		cydir_mailbox_open,
 		index_storage_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		cydir_mailbox_create,
 		index_storage_mailbox_update,
 		index_storage_mailbox_delete,
--- a/src/lib-storage/index/dbox-multi/mdbox-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -327,7 +327,7 @@
 		index_storage_mailbox_enable,
 		dbox_mailbox_open,
 		index_storage_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		dbox_mailbox_create,
 		mdbox_mailbox_update,
 		mdbox_mailbox_delete,
--- a/src/lib-storage/index/dbox-single/sdbox-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/dbox-single/sdbox-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -217,7 +217,7 @@
 		index_storage_mailbox_enable,
 		dbox_mailbox_open,
 		index_storage_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		dbox_mailbox_create,
 		dbox_mailbox_update,
 		index_storage_mailbox_delete,
--- a/src/lib-storage/index/index-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/index-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -331,6 +331,11 @@
 	ibox->sync_last_check = 0;
 }
 
+void index_storage_mailbox_free(struct mailbox *box)
+{
+	mail_index_alloc_cache_unref(&box->index);
+}
+
 static void
 index_storage_mailbox_update_cache_fields(struct mailbox *box,
 					  const struct mailbox_update *update)
--- a/src/lib-storage/index/index-storage.h	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/index-storage.h	Mon Feb 15 02:57:56 2010 +0200
@@ -73,6 +73,7 @@
 int index_storage_mailbox_enable(struct mailbox *box,
 				 enum mailbox_feature feature);
 void index_storage_mailbox_close(struct mailbox *box);
+void index_storage_mailbox_free(struct mailbox *box);
 int index_storage_mailbox_update(struct mailbox *box,
 				 const struct mailbox_update *update);
 int index_storage_mailbox_delete(struct mailbox *box);
--- a/src/lib-storage/index/maildir/maildir-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -579,7 +579,7 @@
 		index_storage_mailbox_enable,
 		maildir_mailbox_open,
 		maildir_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		maildir_mailbox_create,
 		maildir_mailbox_update,
 		index_storage_mailbox_delete,
--- a/src/lib-storage/index/mbox/mbox-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/mbox/mbox-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -693,7 +693,7 @@
 		index_storage_mailbox_enable,
 		mbox_mailbox_open,
 		mbox_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		mbox_mailbox_create,
 		mbox_mailbox_update,
 		index_storage_mailbox_delete,
--- a/src/lib-storage/index/raw/raw-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/index/raw/raw-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -134,7 +134,7 @@
 		index_storage_mailbox_enable,
 		raw_mailbox_open,
 		index_storage_mailbox_close,
-		NULL,
+		index_storage_mailbox_free,
 		raw_mailbox_create,
 		raw_mailbox_update,
 		index_storage_mailbox_delete,
--- a/src/lib-storage/mail-storage.c	Mon Feb 15 02:54:32 2010 +0200
+++ b/src/lib-storage/mail-storage.c	Mon Feb 15 02:57:56 2010 +0200
@@ -580,10 +580,7 @@
 	*_box = NULL;
 
 	mailbox_close(box);
-
-	if (box->v.free != NULL)
-		box->v.free(box);
-	mail_index_alloc_cache_unref(&box->index);
+	box->v.free(box);
 	pool_unref(&box->pool);
 }