From: Timo Sirainen Date: Mon, 15 Feb 2010 00:57:56 +0000 (+0200) Subject: lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check... X-Git-Tag: 2.0.beta3~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=438f12d7a776da695019114884b48188d94613ef;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Use a default non-NULL mailbox.free() so plugins don't have to check for it. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/cydir/cydir-storage.c b/src/lib-storage/index/cydir/cydir-storage.c index 6912de7284..e2a94c5af1 100644 --- a/src/lib-storage/index/cydir/cydir-storage.c +++ b/src/lib-storage/index/cydir/cydir-storage.c @@ -140,7 +140,7 @@ struct mailbox cydir_mailbox = { 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 --git a/src/lib-storage/index/dbox-multi/mdbox-storage.c b/src/lib-storage/index/dbox-multi/mdbox-storage.c index ed6692106b..0b4606a1a8 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-storage.c +++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c @@ -327,7 +327,7 @@ struct mailbox mdbox_mailbox = { 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 --git a/src/lib-storage/index/dbox-single/sdbox-storage.c b/src/lib-storage/index/dbox-single/sdbox-storage.c index 217f22cde8..1936b8834e 100644 --- a/src/lib-storage/index/dbox-single/sdbox-storage.c +++ b/src/lib-storage/index/dbox-single/sdbox-storage.c @@ -217,7 +217,7 @@ struct mailbox sdbox_mailbox = { 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 --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index a83da96540..016465f669 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -331,6 +331,11 @@ void index_storage_mailbox_close(struct mailbox *box) 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 --git a/src/lib-storage/index/index-storage.h b/src/lib-storage/index/index-storage.h index 2b96dbb63c..ff853947bf 100644 --- a/src/lib-storage/index/index-storage.h +++ b/src/lib-storage/index/index-storage.h @@ -73,6 +73,7 @@ int index_storage_mailbox_open(struct mailbox *box, bool move_to_memory); 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 --git a/src/lib-storage/index/maildir/maildir-storage.c b/src/lib-storage/index/maildir/maildir-storage.c index a093fd5792..d3692a45df 100644 --- a/src/lib-storage/index/maildir/maildir-storage.c +++ b/src/lib-storage/index/maildir/maildir-storage.c @@ -579,7 +579,7 @@ struct mailbox maildir_mailbox = { 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 --git a/src/lib-storage/index/mbox/mbox-storage.c b/src/lib-storage/index/mbox/mbox-storage.c index 37e43fee2c..3bd6e5da28 100644 --- a/src/lib-storage/index/mbox/mbox-storage.c +++ b/src/lib-storage/index/mbox/mbox-storage.c @@ -693,7 +693,7 @@ struct mailbox mbox_mailbox = { 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 --git a/src/lib-storage/index/raw/raw-storage.c b/src/lib-storage/index/raw/raw-storage.c index 28f842e38a..e996cb956b 100644 --- a/src/lib-storage/index/raw/raw-storage.c +++ b/src/lib-storage/index/raw/raw-storage.c @@ -134,7 +134,7 @@ struct mailbox raw_mailbox = { 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 --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 72be02ccea..c6618b2f98 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -580,10 +580,7 @@ void mailbox_free(struct mailbox **_box) *_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); }