Re: [PATCH] Use strchr() to search for a single character
Corey Huinker <corey.huinker@gmail.com>
From: Corey Huinker <corey.huinker@gmail.com>
To: Dmitry Mityugov <d.mityugov@postgrespro.ru>
Cc: pgsql-hackers@postgresql.org
Date: 2025-07-22T19:42:42Z
Lists: pgsql-hackers
On Sun, Jul 20, 2025 at 6:21 PM Dmitry Mityugov <d.mityugov@postgrespro.ru> wrote: > Code in src/port/pgmkdirp.c uses strstr() to find a single character in > a string, but strstr() seems to be too generic for this job. Another > function, strchr(), might be better suited for this purpose, because it > is optimized to search for exactly one character in a string. In > addition, if strchr() is used, the compiler doesn't have to generate a > terminating \0 byte for the substring, producing slightly smaller code. > I'm attaching the patch. > > Regards, > Dmitry Seems like a simple-enough change, not a huge win but probably worth doing. Using ripgrep to search for 'strstr(.*".")' turns up two similar situations in contrib/fuzzystrmatch/dmetaphone.c, so perhaps we include those. There's also a match in src/bin/pg_rewind/filemap.c, but that one is a false positive.
Commits
-
Use strchr instead of strstr for single-char lookups
- 039f7ee0fe9a 19 (unreleased) landed