]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add mail_namespace_is_inbox_noinferiors()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 13 Dec 2017 23:23:01 +0000 (01:23 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 14 Dec 2017 19:04:04 +0000 (21:04 +0200)
src/lib-storage/mail-namespace.h

index d60e6d966abcbabc992014c1fe642ca2f135bde7..011a5f2e616bc88674f6915e10b99e3a19078861 100644 (file)
@@ -190,4 +190,16 @@ void mail_namespace_finish_list_init(struct mail_namespace *ns,
    type=public namespace "wrong"). */
 bool mail_namespace_is_shared_user_root(struct mail_namespace *ns);
 
+/* Returns TRUE if namespace includes INBOX that should be \Noinferiors.
+   This happens when the namespace has a prefix, which is not empty and not
+   "INBOX". This happens, because if storage_name=INBOX/foo it would be
+   converted to vname=prefix/INBOX/foo. */
+static inline bool
+mail_namespace_is_inbox_noinferiors(struct mail_namespace *ns)
+{
+       return (ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 &&
+               ns->prefix_len > 0 &&
+               strncmp(ns->prefix, "INBOX", ns->prefix_len-1) != 0;
+}
+
 #endif