On 25 Oct 2021, at 12:30, Ruediger Pluem <[email protected]> wrote:
>> begin is unused.
Will fix.
>> +
>> + while ((hay = memchr(hay, *(char *)needle, len))) {
>
> Does memchr have a defined behaviour for len == 0? This can happen if
> *(char *)needle is found at hay[len -1 ] but the memcmp below is not zero.
> In this case len becomes 1 below and 0 after the --len.
Code is a simplified version of this:
https://github.com/apache/apreq/blob/trunk/library/util.c#L92
I understand this to be the case.
The BSD man page on MacOS says “Zero-length strings are always identical” and
the function is C90.
Regards,
Graham
—