On Mon, Sep 18, 2023 at 04:48:40PM +0200, Rasmus Villemoes wrote: > On 13/09/2023 11.27, Andy Shevchenko wrote: > > - p = strchrnul(value, ';'); > > - *p = '\0'; > > + strreplace(value, ';', '\0'); > > So how do you know that the string contains at most one ';'? Same for > all the other replacements. If that's not guaranteed, this is not at all > equivalent. > > Or maybe the result is just used a normal string afterwards, and it > doesn't matter at all how the content after the first ';' has been mangled? > > It's certainly not obvious to me that this is correct, but of course I > know nothing about this code. If you read the comment and code slightly above you may get that this is not a problem at all. There are no side effects as the part after first occurrence of ; is not used and original string is NUL-terminated. -- With Best Regards, Andy Shevchenko