is errno supposed to be positive or negative?

Sascha Hauer s.hauer at pengutronix.de
Wed Jun 27 05:51:28 EDT 2012


On Wed, Jun 27, 2012 at 11:35:51AM +0200, Uwe Kleine-König wrote:
> Hello,
> 
> Well, ok, errno is supposed to be zero, but in the rare cases where it's
> not, what is intended?
> 
> Assuming ESOMETHING is always positive, in userspace errno is
> positive, e.g. you test for errno == EBADF.
> 
> In barebox however most assignments use
> 
> 	errno = -ESOMETHING
> 
> but there are also some tests and assignments without minus. barebox'
> perror expects a negative errno which is also different from POSIX'
> perror. strerror uses positive semantics in both barebox and POSIX.

Your tree is not up to date.

see:

commit 6188685091c58c9772b990cf0ca6ac522f97a9d0
Author: Sascha Hauer <s.hauer at pengutronix.de>
Date:   Sun May 13 12:43:58 2012 +0200

    Make errno a positive value
    
    Normally errno contains a positive error value. A certain unnamed developer
    mixed this up while implementing U-Boot-v2. Also, normally errno is never
    set to zero by any library function. This patch fixes this.
    
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list