Subject: Re: [PATCH v3 5/5] sparse-checkout: reject arguments in cone-mode that look like patterns

From: Junio C Hamano <[email-masked]>
Date: Wed, 16 Feb 2022 10:49:52 -0800

Victoria Dye <[email-masked]> 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 ;-).