On Wed, Jun 27, 2012 at 11:51:28AM +0200, Sascha Hauer wrote: > 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@xxxxxxxxxxxxxx> > 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@xxxxxxxxxxxxxx> OK, you're right. There is just: $ git grep errno\ =\ -E origin/master origin/master:fs/ramfs.c: errno = -ENOENT; Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox