svn commit: r236582 - head/lib/libc/stdlib

Andrey Chernov ache at FreeBSD.ORG
Tue Jun 5 12:40:22 UTC 2012


On Tue, Jun 05, 2012 at 10:08:09AM +0200, Dimitry Andric wrote:
> On 2012-06-04 23:34, Andrey A. Chernov wrote:> Author: ache
> > Date: Mon Jun  4 21:34:49 2012
> > New Revision: 236582
> > URL: http://svn.freebsd.org/changeset/base/236582
> > 
> > Log:
> >   1) IEEE Std 1003.1-2008, "errno" section, is explicit that
> >   
> >   "The setting of errno after a successful call to a function is
> >   unspecified unless the description of that function specifies that
> >   errno shall not be modified."
> >   
> >   However, free() in IEEE Std 1003.1-2008 does not mention its interaction
> >   with errno, so MAY modify it after successful call
> >   (it depends on particular free() implementation, OS-specific, etc.).
> 
> Actually, it says the following:
> 
>   RETURN VALUE
> 
>       The free() function shall not return a value.
> 
>   ERRORS
> 
>       No errors are defined.
> 
> How much clearer do you want it? ;)

It is pretty clear.
The function is not specified that errno shall not be modified.
You mstake errors with direct mention of not modified errno, as POSIX 
requires.

Moreover, standard metion "unsuccessful call" case for free() where errno 
state is totally undefined.

-- 
http://ache.vniz.net/


More information about the svn-src-all mailing list