summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-07 23:55:24 +0000
committerRoland McGrath <roland@gnu.org>1996-07-07 23:55:24 +0000
commit28160ffb1c1b768e0fca4ccdb2843252100b5b81 (patch)
treeb2b8a2c81003c82672e7d785264ac33e854e2a00
parentfaf85e08bcc5e1fd3d418b9ce11c8f2649d8415f (diff)
downloadglibc-28160ffb1c1b768e0fca4ccdb2843252100b5b81.tar.gz
glibc-28160ffb1c1b768e0fca4ccdb2843252100b5b81.tar.xz
glibc-28160ffb1c1b768e0fca4ccdb2843252100b5b81.zip
* sysdeps/gnu/errlist.awk (BEGIN): Initialize associative array ALIAS,
	map EWOULDBLOCK->EAGAIN, EDEADLOCK->EDEADLK.
	(element printer): Check for elt in ALIAS, instead of special case
	for EWOULDBLOCK.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/gnu/errlist.awk7
-rw-r--r--sysdeps/gnu/errlist.c2
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ff1a3ae90..31cf83f1c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 Sun Jul  7 18:42:06 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
 
+	* sysdeps/gnu/errlist.awk (BEGIN): Initialize associative array ALIAS,
+	map EWOULDBLOCK->EAGAIN, EDEADLOCK->EDEADLK.
+	(element printer): Check for elt in ALIAS, instead of special case
+	for EWOULDBLOCK.
+
 	* io/Makefile (headers): Add sys/vfs.h.
 	* io/sys/vfs.h: New file.
 
diff --git a/sysdeps/gnu/errlist.awk b/sysdeps/gnu/errlist.awk
index d14348f0b9..e6ca81a4ad 100644
--- a/sysdeps/gnu/errlist.awk
+++ b/sysdeps/gnu/errlist.awk
@@ -23,6 +23,9 @@
 # @comment errno 78
 
 BEGIN {
+    alias["EWOULDBLOCK"] = "EAGAIN";
+    alias["EDEADLOCK"] = "EDEADLK";
+
     print "/* This file is generated from errno.texi by errlist.awk.  */"
     print "";
     print "#include <errno.h>";
@@ -47,8 +50,8 @@ errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" \
 errnoh == 3 && $1 == "@comment" && $2 == "errno" \
   {
     errno = $3 + 0;
-    if (e == "EWOULDBLOCK")
-      print "#if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN";
+    if (alias[e])
+      printf "#if defined (%s) && %s != %s\n", e, e, alias[e];
     else
       printf "#ifdef %s\n", e;
     printf "    [%s] = N_(\"%s\"),\n", e, etext;
diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c
index 59e7f52b97..fa56553712 100644
--- a/sysdeps/gnu/errlist.c
+++ b/sysdeps/gnu/errlist.c
@@ -323,7 +323,7 @@ const char *_sys_errlist[] =
 #ifdef EBADSLT
     [EBADSLT] = N_("Invalid slot"),
 #endif
-#ifdef EDEADLOCK
+#if defined (EDEADLOCK) && EDEADLOCK != EDEADLK
     [EDEADLOCK] = N_("File locking deadlock error"),
 #endif
 #ifdef EBFONT