dovecot-2.0: lib-storage: Use a default non-NULL mailbox.free() ...

dovecot at dovecot.org dovecot at dovecot.org
Mon Feb 15 03:07:22 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/debbf3f39e0c
changeset: 10719:debbf3f39e0c
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Feb 15 02:57:56 2010 +0200
description:
lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check for it.

diffstat:

 src/lib-storage/index/cydir/cydir-storage.c       |  2 +-
 src/lib-storage/index/dbox-multi/mdbox-storage.c  |  2 +-
 src/lib-storage/index/dbox-single/sdbox-storage.c |  2 +-
 src/lib-storage/index/index-storage.c             |  5 +++++
 src/lib-storage/index/index-storage.h             |  1 +
 src/lib-storage/index/maildir/maildir-storage.c   |  2 +-
 src/lib-storage/index/mbox/mbox-storage.c         |  2 +-
 src/lib-storage/index/raw/raw-storage.c           |  2 +-
 src/lib-storage/mail-storage.c                    |  5 +----
 9 files changed, 13 insertions(+), 10 deletions(-)

diffs (113 lines):

diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/cydir/cydir-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/dbox-multi/mdbox-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/dbox-single/sdbox-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/index-storage.c
--- 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)
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/index-storage.h
--- 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);
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/maildir/maildir-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/mbox/mbox-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/index/raw/raw-storage.c
--- 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,
diff -r e8fc01d03aea -r debbf3f39e0c src/lib-storage/mail-storage.c
--- 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);
 }
 


More information about the dovecot-cvs mailing list