]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Optimize str_tabescape()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 17 Sep 2021 13:11:12 +0000 (16:11 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 21 Sep 2021 07:12:53 +0000 (07:12 +0000)
src/lib/strescape.c

index 54d44ec235c66443dd4b056802fa753438aefc98..bfa4473c71c5846df0adae54c16187f2102c36bd 100644 (file)
@@ -172,13 +172,11 @@ const char *str_tabescape(const char *str)
        string_t *tmp;
        const char *p;
 
-       for (p = str; *p != '\0'; p++) {
-               if (*p <= '\r') {
-                       tmp = t_str_new(128);
-                       str_append_data(tmp, str, p-str);
-                       str_append_tabescaped(tmp, p);
-                       return str_c(tmp);
-               }
+       if ((p = strpbrk(str, "\001\t\r\n")) != NULL) {
+               tmp = t_str_new(128);
+               str_append_data(tmp, str, p-str);
+               str_append_tabescaped(tmp, p);
+               return str_c(tmp);
        }
        return str;
 }