----- Original Message ----- From: "John-Mark Gurney" <[EMAIL PROTECTED]> To: "Matthew Emmerton" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Friday, July 04, 2003 2:50 PM Subject: Re: RFC: Change to sys_errlist
> 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. You're right. Furthermore, SUSv3 indicates that errno is a positive integer; this presumably excludes 0 so our existing implementation is fine. I guess I'll have to bring this up with the Linux folks and see if they'll change. -- Matt Emmerton _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"