Paul Eggert writes: > On 2024-07-22 08:01, Eli Zaretskii wrote: >> + if (p == *buf || errno == ERANGE || errno == EINVAL > > This should be: > > if (errno || p == *buf > > as other errors are possible at least in theory, and p might be > uninitialized on error. > >>> + return (int)result; > > As a style matter this cast does more harm than good, as it will > suppress a static check if 'result' happens to be a pointer type, and it > could suppress a dynamic check on some debugging-oriented systems. I > would say just 'return result;'. Thanks for reviewing. I've attached an updated patch with your proposed changes.