[Info-vax] ChatGPT solved it for me, again...
Simon Clubley
clubley at remove_me.eisner.decus.org-Earth.UFP
Fri Feb 17 13:27:47 EST 2023
On 2023-02-17, Arne Vajhøj <arne at vajhoej.dk> wrote:
> On 2/17/2023 9:16 AM, Simon Clubley wrote:
>> On 2023-02-17, Arne Vajhøj <arne at vajhoej.dk> wrote:
>>>
>>> strcspn will stop when it reach the terminating null byte.
>>
>> Are you sure about that ?
>
> Yes.
>
>> https://linux.die.net/man/3/strcspn
>>
>> There's no mention of stopping at a null and no mention of what the
>> return value is when the byte is not found within the string if it
>> were to stop at a terminating null.
>
> "The strcspn() function returns the number of bytes in the initial
> segment of s which are not in the string reject."
>
> strcspn("abc\n", "\n") will return 3.
>
> strcspn("abc", "\n") will also return 3.
>
> That is what it says.
>
Then in that case I was wrong and I withdraw the original comment.
However, that man page is extremely misleading because when a routine
is setup to report that it didn't find something, it usually tells you
how it does that in the "RETURN VALUE" section of the documentation.
The version that Bill posted from BSD is better if not completely clear.
I had a look around to see if it was just me and it turns out it isn't:
https://stackoverflow.com/questions/32390478/what-is-the-return-value-of-strcspn-when-str1-does-not-contain-str2
The cplusplus.com reference pointed to there is far better than what is
in the man page.
Simon.
--
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
More information about the Info-vax
mailing list