Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jun 2012 16:39:01 +0400
From:      Andrey Chernov <ache@FreeBSD.ORG>
To:        Dimitry Andric <dim@FreeBSD.ORG>
Cc:        svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG
Subject:   Re: svn commit: r236582 - head/lib/libc/stdlib
Message-ID:  <20120605123901.GA13306@vniz.net>
In-Reply-To: <4FCDBE69.6080906@FreeBSD.org>
References:  <201206042134.q54LYoVJ067685@svn.freebsd.org> <4FCDBE69.6080906@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120605123901.GA13306>