From: Martin Ågren Date: Sun, 23 Feb 2020 09:01:29 GMT Subject: Re: [PATCH] use strpbrk(3) to search for characters from a given set Message-ID: In-Reply-To: <4140dade-d999-a74a-1f8e-06eedb84ed20@web.de> On Sat, 22 Feb 2020 at 19:53, René Scharfe wrote: > > We can check if certain characters are present in a string by calling > strchr(3) on each of them, or we can pass them all to a single > strpbrk(3) call. The latter is shorter, less repetitive and slightly > more efficient, so let's do that instead. > > Signed-off-by: René Scharfe > --- > builtin/show-branch.c | 2 +- > compat/mingw.c | 2 +- > mailinfo.c | 3 +-- > t/helper/test-windows-named-pipe.c | 2 +- > 4 files changed, 4 insertions(+), 5 deletions(-) I failed to identify any other spots, except for some hits in test data (in t/t4256/1/) which are probably better left alone. > - if (strchr(av, '*') || strchr(av, '?') || strchr(av, '[')) { > + if (strpbrk(av, "*?[")) { Indeed, the `strchr()` calls use the same haystack `av`, as opposed to `av`/`aw` or `av++`/`av++` or so. All conversions in this patch look good to me. Martin