]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add mail_user_deinit()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 26 Jul 2019 07:31:07 +0000 (10:31 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Sat, 31 Aug 2019 12:49:24 +0000 (12:49 +0000)
src/lib-storage/mail-user.c
src/lib-storage/mail-user.h

index c414fccddd205aedc166e25a4f2d73560cf14aa4..79609636ac583794db010ad319895ce450e0fb26 100644 (file)
@@ -224,6 +224,12 @@ void mail_user_unref(struct mail_user **_user)
        pool_unref(&user->pool);
 }
 
+void mail_user_deinit(struct mail_user **user)
+{
+       i_assert((*user)->refcount == 1);
+       mail_user_unref(user);
+}
+
 struct mail_user *mail_user_find(struct mail_user *user, const char *name)
 {
        struct mail_namespace *ns;
index fb12131a8d4aeb47e7a305409a92a6543ad98646..86005092228e2735f98d38fb97d6caa85c9abdc3 100644 (file)
@@ -136,6 +136,8 @@ int mail_user_init(struct mail_user *user, const char **error_r);
 
 void mail_user_ref(struct mail_user *user);
 void mail_user_unref(struct mail_user **user);
+/* Assert that this is the last reference for the user and unref it. */
+void mail_user_deinit(struct mail_user **user);
 
 /* Duplicate a mail_user. mail_user_init() and mail_namespaces_init() need to
    be called before the user is usable. */