]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Use strchr to split encoding and scheme
authorAki Tuomi <aki.tuomi@dovecot.fi>
Mon, 14 Aug 2017 11:48:05 +0000 (14:48 +0300)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Mon, 14 Aug 2017 11:52:01 +0000 (14:52 +0300)
This is an optimization because usually strchr is faster

src/auth/password-scheme.c

index 8b6956f73c50c0c765277f8fc7573a3884dfe646..f64cbcbbc933064d2f5f5d27bb71f820903fa843 100644 (file)
@@ -37,16 +37,11 @@ password_scheme_lookup(const char *name, enum password_encoding *encoding_r)
 {
        const struct password_scheme *scheme;
        const char *encoding = NULL;
-       size_t scheme_len;
 
        *encoding_r = PW_ENCODING_NONE;
-
-       for (scheme_len = 0; name[scheme_len] != '\0'; scheme_len++) {
-               if (name[scheme_len] == '.') {
-                       encoding = name + scheme_len + 1;
-                       name = t_strndup(name, scheme_len);
-                       break;
-               }
+       if ((encoding = strchr(name, '.')) != NULL) {
+               name = t_strdup_until(name, encoding);
+               encoding++;
        }
 
        scheme = password_scheme_lookup_name(name);