RFC: Change to sys_errlist

John-Mark Gurney gurney_j at efn.org
Fri Jul 4 11:50:21 PDT 2003


Matthew Emmerton wrote this message on Fri, Jul 04, 2003 at 14:03 -0400:
> This is a RFC on a change to sys_errlist for errno = 0.
> 
> On Linux, if perror() or strerror() is called with errno = 0, the resulting
> string is "Success".
> On FreeBSD, the resulting string is "Unknown error: 0".
> 
> I think that FreeBSD's output is unintentionally confusing, as errno = 0
> implies success.
> 
> The following patch will change the output to the Linux behaviour.
> 
> I appreciate any comments.

This is not good.  This will just encourge more programers to not properly
test return values.  Read man 2 errno says: "Successful calls never set
errno;", so this depends upon the programmer initalizing errno to 0
before they make their call.  If they are already so poor as to be
calling perror, etc with errno 0, then I doubt that we can depend upon
them initalizing errno to 0 and giving consistant results.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-hackers mailing list