Mercurial > dovecot > core-2.2
changeset 9466:3111c362edff HEAD
Added mail_namespace_get_storage_name().
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 12 Jun 2009 12:52:03 -0400 |
parents | b09ad4858d22 |
children | 7b6fe859ec64 |
files | src/lib-storage/mail-namespace.c src/lib-storage/mail-namespace.h |
diffstat | 2 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-namespace.c Fri Jun 12 12:50:27 2009 -0400 +++ b/src/lib-storage/mail-namespace.c Fri Jun 12 12:52:03 2009 -0400 @@ -380,6 +380,21 @@ 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) {
--- a/src/lib-storage/mail-namespace.h Fri Jun 12 12:50:27 2009 -0400 +++ b/src/lib-storage/mail-namespace.h Fri Jun 12 12:52:03 2009 -0400 @@ -88,6 +88,9 @@ /* 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,