On 7/11/24 17:50, Eric Blake wrote:
In contrast, it's not OK to call memchr ("", 0, SIZE_MAX)....this claim appears to be unsupported. Both C23 and POSIX 2024 state that memchr() "...shall behave as if it reads the characters sequentially and stops as soon as a matching character is found",
Thanks for correcting me. Evidently I was relying on old memory, as that phrase was added in C11.
In penance, I'll mention that there should be similar wording for strncmp. E.g., strncmp ("a", "b", SIZE_MAX) should be valid, although the C and POSIX standards don't make this crystal clear.
