changeset 22634:bac4edd0ee25

lib: str_tabunescape() - optimize initial escape char lookup strchr() is faster than looping ourself.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sat, 04 Nov 2017 01:35:44 +0200
parents 9284bdc3c5c5
children 82d8656bb3ad
files src/lib/strescape.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/strescape.c	Sat Nov 04 01:34:02 2017 +0200
+++ b/src/lib/strescape.c	Sat Nov 04 01:35:44 2017 +0200
@@ -201,10 +201,10 @@
 	/* @UNSAFE */
 	char *dest, *start = str;
 
-	while (*str != '\001') {
-		if (*str == '\0')
-			return start;
-		str++;
+	str = strchr(str, '\001');
+	if (str == NULL) {
+		/* no unescaping needed */
+		return start;
 	}
 
 	for (dest = str; *str != '\0'; str++) {