]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added mail_namespace_get_storage_name().
authorTimo Sirainen <tss@iki.fi>
Fri, 12 Jun 2009 16:52:03 +0000 (12:52 -0400)
committerTimo Sirainen <tss@iki.fi>
Fri, 12 Jun 2009 16:52:03 +0000 (12:52 -0400)
--HG--
branch : HEAD

src/lib-storage/mail-namespace.c
src/lib-storage/mail-namespace.h

index 3541ae6d08abfce4a8b9792c6c07c095e4dc434a..680cb1c6c3bf291ca288d31b5ee37b7e06501a74 100644 (file)
@@ -380,6 +380,21 @@ const char *mail_namespace_fix_sep(struct mail_namespace *ns, const char *name)
        return ret;
 }
 
+const char *mail_namespace_get_storage_name(struct mail_namespace *ns,
+                                           const char *name)
+{
+       unsigned int len = strlen(ns->prefix);
+
+       if (len > 0) {
+               if (strncmp(ns->prefix, name, len) == 0)
+                       name += len;
+               else {
+                       i_assert(strcasecmp(name, "INBOX") == 0);
+               }
+       }
+       return mail_namespace_fix_sep(ns, name);
+}
+
 const char *mail_namespace_get_vname(struct mail_namespace *ns, string_t *dest,
                                     const char *name)
 {
index 686dcf3133475228a8a96204e32b7825c1591fa1..69a41950f437527d9337aaa633869a78edbf6a7f 100644 (file)
@@ -88,6 +88,9 @@ void mail_namespace_destroy(struct mail_namespace *ns);
 
 /* Update hierarchy separators in given name to real_sep characters. */
 const char *mail_namespace_fix_sep(struct mail_namespace *ns, const char *name);
+/* Skip namespace prefix and change hierarchy separators. */
+const char *mail_namespace_get_storage_name(struct mail_namespace *ns,
+                                           const char *name);
 /* Write virtual mailbox name to dest and return it. Separators are changed to
    virtual ones and namespace prefix is inserted except for INBOX. */
 const char *mail_namespace_get_vname(struct mail_namespace *ns, string_t *dest,