]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Use strchr instead of strstr for single-char lookups
authorDavid Rowley <drowley@postgresql.org>
Wed, 23 Jul 2025 00:02:55 +0000 (12:02 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 23 Jul 2025 00:02:55 +0000 (12:02 +1200)
Compilers such as gcc and clang seem to perform this rewrite
automatically when the lookup string is known at compile-time to contain
a single character.  The MSVC compiler does not seem apply the same
optimization, and the code being adjusted here is within an #ifdef WIN32,
so it seems worth adjusting this with the assumption that strchr() will be
slightly more performant.

There are a couple more instances in contrib/fuzzystrmatch that this
commit could also have adjusted.  After some discussion, we deemed those
not important enough to bother with.

Author: Dmitry Mityugov <d.mityugov@postgrespro.ru>
Reviewed-by: Corey Huinker <corey.huinker@gmail.com>
Reviewed-by: David Rowley <drowleyml@gmail.com>
Discussion: https://postgr.es/m/9c1beea6c7a5e9fb6677f26620f1f257%40postgrespro.ru

src/port/pgmkdirp.c

index d943559760d8980a1582f0bee064c0bea52b5597..7d7cea4dd0ea18670d09ac911a3bd742d46d04bf 100644 (file)
@@ -73,7 +73,7 @@ pg_mkdir_p(char *path, int omode)
                if (p[0] == '/' && p[1] == '/')
                {
                        /* network drive */
-                       p = strstr(p + 2, "/");
+                       p = strchr(p + 2, '/');
                        if (p == NULL)
                        {
                                errno = EINVAL;