]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Use imap_escaped_utf8_hex_to_char()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 14 Jan 2021 14:32:25 +0000 (16:32 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 3 Feb 2021 09:04:22 +0000 (09:04 +0000)
src/lib-storage/mailbox-list.c

index 03f42d74a6bdb6b58ea44813831d5196e2b45ec4..8fb19f6eee9c4c1251465f3106ce7bf03277a543 100644 (file)
@@ -527,18 +527,7 @@ mailbox_list_unescape_broken_chars(struct mailbox_list *list, char *name)
 
        while (*src != '\0') {
                if (*src == list->set.vname_escape_char) {
-                       if (src[1] >= '0' && src[1] <= '9')
-                               chr = (src[1]-'0') * 0x10;
-                       else if (src[1] >= 'a' && src[1] <= 'f')
-                               chr = (src[1]-'a' + 10) * 0x10;
-                       else
-                               return -1;
-
-                       if (src[2] >= '0' && src[2] <= '9')
-                               chr += src[2]-'0';
-                       else if (src[2] >= 'a' && src[2] <= 'f')
-                               chr += src[2]-'a' + 10;
-                       else
+                       if (imap_escaped_utf8_hex_to_char(src+1, &chr) < 0)
                                return -1;
                        *dest++ = chr;
                        src += 3;