Re: [PATCH v3 5/5] sparse-checkout: reject arguments in cone-mode that look like patterns
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 16, 2022, 18:49 UTC
- Message-ID
- <xmqqpmnmsl2n.fsf@gitster.g>
- In-Reply-To
- <af439020-8314-9171-4300-94a5102c8a38@github.com>
Victoria Dye <vdye@github.com> writes:
Show 11 quoted lines
>> 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 ;-).