From: Stephan Bosch Date: Wed, 2 Oct 2019 21:54:44 +0000 (+0200) Subject: lib-storage: mail-storage - Add mailbox_alloc_for_user(). X-Git-Tag: 2.3.9~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68c6c6fbaa2c8395c1c58e4e2f299efda109c0ef;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mail-storage - Add mailbox_alloc_for_user(). --- diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 712a78b46a..faddf57b09 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -911,6 +911,17 @@ struct mailbox *mailbox_alloc_guid(struct mailbox_list *list, return box; } +struct mailbox * +mailbox_alloc_for_user(struct mail_user *user, const char *vname, + enum mailbox_flags flags) +{ + struct mail_namespace *ns; + + ns = mail_namespace_find(user->namespaces, vname); + + return mailbox_alloc(ns->list, vname, flags); +} + struct mailbox *mailbox_alloc_delivery(struct mail_user *user, const char *name, enum mailbox_flags flags) { diff --git a/src/lib-storage/mail-storage.h b/src/lib-storage/mail-storage.h index d901b6778b..81535311a0 100644 --- a/src/lib-storage/mail-storage.h +++ b/src/lib-storage/mail-storage.h @@ -522,6 +522,11 @@ struct mailbox *mailbox_alloc(struct mailbox_list *list, const char *vname, struct mailbox *mailbox_alloc_guid(struct mailbox_list *list, const guid_128_t guid, enum mailbox_flags flags); +/* Initialize mailbox for a particular user without actually opening any files + or verifying that it exists. */ +struct mailbox * +mailbox_alloc_for_user(struct mail_user *user, const char *vname, + enum mailbox_flags flags); /* Initialize mailbox for delivery without actually opening any files or verifying that it exists. */ struct mailbox *mailbox_alloc_delivery(struct mail_user *user,