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,
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,
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,
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)
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);
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,
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,
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,
*_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);
}