From: Siavash Tavakoli Date: Mon, 22 Feb 2021 15:37:19 +0000 (+0000) Subject: lib-storage: Expose mailbox_list_name_{escape,unescape} functions in header X-Git-Tag: 2.3.15~205 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1feae5169fd96b4674ec774fa9b0671e36b13c49;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Expose mailbox_list_name_{escape,unescape} functions in header To be used in mailbox-list-index. --- diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 1f6375bc68..512b893020 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -518,8 +518,7 @@ mailbox_list_escape_name_params(const char *vname, const char *ns_prefix, return str_c(escaped_name); } -static void -mailbox_list_name_unescape(const char **_name, char escape_char) +void mailbox_list_name_unescape(const char **_name, char escape_char) { const char *p, *name = *_name; unsigned char chr; @@ -726,15 +725,14 @@ mailbox_list_storage_name_prepare(struct mailbox_list *list, return FALSE; } -static void -mailbox_list_name_escape(const char *vname, const char *escape_chars, - string_t *dest) +void mailbox_list_name_escape(const char *name, const char *escape_chars, + string_t *dest) { - for (unsigned int i = 0; vname[i] != '\0'; i++) { - if (strchr(escape_chars, vname[i]) != NULL) - str_printfa(dest, "%c%02x", escape_chars[0], vname[i]); + for (unsigned int i = 0; name[i] != '\0'; i++) { + if (strchr(escape_chars, name[i]) != NULL) + str_printfa(dest, "%c%02x", escape_chars[0], name[i]); else - str_append_c(dest, vname[i]); + str_append_c(dest, name[i]); } } diff --git a/src/lib-storage/mailbox-list.h b/src/lib-storage/mailbox-list.h index 57dec1b086..f0118927fb 100644 --- a/src/lib-storage/mailbox-list.h +++ b/src/lib-storage/mailbox-list.h @@ -329,4 +329,9 @@ int mailbox_list_init_fs(struct mailbox_list *list, const char *driver, mailbox_list_init_fs(). */ struct mailbox_list *mailbox_list_fs_get_list(struct fs *fs); +/* Escape/Unescape mailbox name in place. */ +void mailbox_list_name_unescape(const char **name, char escape_char); +void mailbox_list_name_escape(const char *name, const char *escape_chars, + string_t *dest); + #endif