Date: Thu, 10 Jul 2003 22:43:27 -0700 From: Wes Peters <wes@softweyr.com> To: Matthew Emmerton <matt@compar.com>, Terry Lambert <tlambert2@mindspring.com> Cc: freebsd-hackers@freebsd.org Subject: Re: RFC: Change to sys_errlist Message-ID: <200307102243.27228.wes@softweyr.com> In-Reply-To: <20030710162030.R32209-100000@skippyii.compar.com> References: <20030710162030.R32209-100000@skippyii.compar.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 10 July 2003 01:21 pm, Matthew Emmerton wrote: > On Sun, 6 Jul 2003, Terry Lambert wrote: > > Matthew Emmerton wrote: > > > 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. > > > > Actually, I ran into a situation on MacOS X the other day that had > > a system call with a -1 return code with an errno == 0. > > > > I would personally like to distinguish this case, if only for the > > purpose of catching kernel errors. Saying "Success" when in fact > > the system call is returning -1 is a bogus thing to do. > > Agreed. I thought this over and read some specs and believe our way is > the right way. In point of fact, errno == 0 does NOT mean "Success", it means "WTF?". 0 isn't a valid errno, so no meaning can be gleaned from errno == 0 any more than it could be gleaned from errno == 0xb00bface or errno == 6.023e23. -- Where am I, and what am I doing in this handbasket? Wes Peters wes@softweyr.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307102243.27228.wes>