From ff26529199d2230816f503ba0a1f53d48cd7ad2f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 26 Jul 2019 10:31:07 +0300 Subject: [PATCH] lib-storage: Add mail_user_deinit() --- src/lib-storage/mail-user.c | 6 ++++++ src/lib-storage/mail-user.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index c414fccddd..79609636ac 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -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; diff --git a/src/lib-storage/mail-user.h b/src/lib-storage/mail-user.h index fb12131a8d..8600509222 100644 --- a/src/lib-storage/mail-user.h +++ b/src/lib-storage/mail-user.h @@ -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. */ -- 2.47.3