On Wed, Feb 16, 2022 at 10:49 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Victoria Dye <vdye@xxxxxxxxxx> writes: > > >> I considered strtok, but strtok & strtok_r are documented as modifying > >> their argument. Perhaps they don't modify the argument if they don't > >> find any of the listed tokens, but I didn't want to rely on that since > >> I found no guarantees in the documentation. > > > > Maybe `strpbrk` would work? Unless I'm misunderstanding, it should > > consolidate the condition to one line without potentially modifying the > > arguments. E.g.: > > > > if (!strpbrk(argv[i], "*?[]")) > > die(_("specify directories rather than patterns. If your directory really has any of '*?[]' in it, pass --skip-checks")); > > Yes, either that or strspn() are good match for the problem (I > suspect Ævar actually meant strspn() not strtok() in the first > place, though ;-). After reading up on it, I think you mean strcspn() rather than strspn(), yes? Either way, strpbrk() seems more direct to me, so I'll use it.