From 039f7ee0fe9a25cf26d915d4b68091e080c6c6ec Mon Sep 17 00:00:00 2001 From: David Rowley Date: Wed, 23 Jul 2025 12:02:55 +1200 Subject: [PATCH] Use strchr instead of strstr for single-char lookups 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 Reviewed-by: Corey Huinker Reviewed-by: David Rowley Discussion: https://postgr.es/m/9c1beea6c7a5e9fb6677f26620f1f257%40postgrespro.ru --- src/port/pgmkdirp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/port/pgmkdirp.c b/src/port/pgmkdirp.c index d943559760d..7d7cea4dd0e 100644 --- a/src/port/pgmkdirp.c +++ b/src/port/pgmkdirp.c @@ -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;