]> err.no Git - moreutils/commitdiff
Change how errno values are printed, for portability
authorLars Wirzenius <liw@liw.fi>
Tue, 5 Jun 2012 17:09:29 +0000 (18:09 +0100)
committerLars Wirzenius <liw@liw.fi>
Tue, 5 Jun 2012 17:09:29 +0000 (18:09 +0100)
Reported and suggested by Pino Toscano: The Hurd does not #define the
EFOO constants as simple integers, but as expressions. This made the
code that generates errnos.h to misinterpret the value, and always print
0 for every error code. We fix this by instead using the EFOO macro in
errnos.h, so that the preprocessor evaluates it correctly. This is the
right thing to do anyway, for every platform.

Thus the table changes from {"EFOO",42} to {"EFOO",EFOO} for each
entry.

Makefile

index e798a9851386094eea02584196c88e04e3c9eb1b..21af6831ab7e48847448ade0b3903ddfb7ade1db 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -50,7 +50,7 @@ parallel.1: parallel.docbook
 errno.o: errnos.h
 errnos.h:
        echo '#include <errno.h>' > dump.c
-       $(CC) -E -dD dump.c | awk '/^#define E/ { printf "{\"%s\",%d},\n", $$2, $$3 }' > errnos.h
+       $(CC) -E -dD dump.c | awk '/^#define E/ { printf "{\"%s\",%s},\n", $$2, $$2 }' > errnos.h
        rm -f dump.c
        
 errno.1: errno.docbook