#include "mail-storage.h"
#include "mail-storage-settings.h"
#include "mail-storage-service.h"
+#include "mail-storage-hooks.h"
#include "mail-search-build.h"
#include "mail-search-parser.h"
#include "mailbox-list-iter.h"
void doveadm_mail_deinit(void)
{
+ mail_storage_hooks_deinit();
array_free(&doveadm_mail_cmds);
}
void mail_storage_hooks_deinit(void)
{
- array_free(&internal_hooks);
- array_free(&module_hooks);
+ /* allow calling this even if mail_storage_hooks_init() hasn't been
+ called, because e.g. doveadm plugins could call
+ mail_storage_hooks_add() even though mail storage is never
+ initialized. */
+ if (array_is_created(&internal_hooks))
+ array_free(&internal_hooks);
+ if (array_is_created(&module_hooks))
+ array_free(&module_hooks);
}
void mail_storage_hooks_add(struct module *module,