about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/errnos.awk
diff options
context:
space:
mode:
authorRical Jasan <ricaljasan@pacific.net>2017-05-19 22:44:25 -0700
committerRical Jasan <ricaljasan@pacific.net>2017-05-19 22:47:53 -0700
commita429d2ff07fcb6620269fc0ee46ea5066451fdff (patch)
treeb331d57677d3181b3d025a22682fd1fd0d4b3443 /sysdeps/mach/hurd/errnos.awk
parent0bcec5321f7d31c31e4fd601d4e0922862d87b14 (diff)
downloadglibc-a429d2ff07fcb6620269fc0ee46ea5066451fdff.tar.gz
glibc-a429d2ff07fcb6620269fc0ee46ea5066451fdff.tar.xz
glibc-a429d2ff07fcb6620269fc0ee46ea5066451fdff.zip
manual: Convert errno @comments to new @errno macro.
errno.texi documents error macros, their values, and error strings in
Texinfo @comments, some of which are also used for @standards.  The
purpose of this commit is to separate the standards from the error
strings so that both the @standards conversion script picks up clean
@standards and the errno documentation framework is improved.

The error names, values, and messages are consolidated in a new custom
macro, @errno.  It is not clear that scripts within the sources rely
on the special Texinfo @comment-based format to generate files used
throughout the library, so the definition of @errno in macros.texi now
provides a comment indicating the dependency.  The dependent scripts
are updated to use @errno, which also simplifies them a bit.  The
files those scripts generate were verified to be unchanged.

The @errno macro is not visibly rendered in any way at this time, but
it does use an @cindex command to add the error string to the Concept
Index, to facilitate searching on error messages.

	* manual/errno.texi: Convert @comment-based errno
	documentation to @errno.
	* manual/macros.texi (@errno): New macro.  Consolidate errors,
	their values, and messages, adding the error string to the
	Concept Index.  Provide a warning in the comment about
	external (to the manual) dependencies.
	* sysdeps/gnu/errlist.awk: Use @errno instead of @comments.
	* sysdeps/mach/hurd/errnos.awk: Likewise.
Diffstat (limited to 'sysdeps/mach/hurd/errnos.awk')
-rw-r--r--sysdeps/mach/hurd/errnos.awk22
1 files changed, 6 insertions, 16 deletions
diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk
index a20815fa17..1cd2a0ac96 100644
--- a/sysdeps/mach/hurd/errnos.awk
+++ b/sysdeps/mach/hurd/errnos.awk
@@ -16,10 +16,7 @@
 # <http://www.gnu.org/licenses/>.
 
 # errno.texinfo contains lines like:
-# @comment errno.h
-# @comment POSIX.1: Function not implemented
-# @deftypevr Macro int ENOSYS
-# @comment errno 123
+# @errno{ENOSYS, 123, Function not implemented}
 
 BEGIN {
     print "/* This file generated by errnos.awk.  */";
@@ -39,7 +36,6 @@ BEGIN {
     print "\t   value.  */";
     print "\tESUCCESS = 0,"
     print "";
-    errnoh = 0;
     maxerrno = 0;
     in_mach_errors = "";
     in_math = 0;
@@ -48,26 +44,21 @@ BEGIN {
     lno = 0;
   }
 
-$1 == "@comment" && $2 == "errno.h" { errnoh=1; next }
-$1 == "@comment" && errnoh == 1 \
+/^@errno\{/ \
   {
-    ++errnoh;
     etext = "";
     for (i = 3; i <= NF; ++i)
       etext = etext " " $i;
-    next;
-  }
+    etext = substr(etext, 1, length(etext)-1)
 
-errnoh == 2 && $1 == "@deftypevr"  && $2 == "Macro" && $3 == "int" \
-  { ++errnoh; e = $4; next; }
-
-errnoh == 3 && $1 == "@comment" && $2 == "errno" {
+    e = substr($1, 8, length($1)-8)
     if (e == "EWOULDBLOCK")
       {
 	lines[lno++]="#define EWOULDBLOCK EAGAIN /* Operation would block */";
 	next;
       }
-    errno = $3 + 0;
+
+    errno = substr($2, 1, length($2)-1) + 0
     if (errno == 0)
       next;
     if (errno > maxerrno) maxerrno = errno;
@@ -83,7 +74,6 @@ errnoh == 3 && $1 == "@comment" && $2 == "errno" {
     lines[lno++] = x;
     next;
   }
-{ errnoh=0 }
 
 NF == 3 && $1 == "#define" && $2 == "MACH_SEND_IN_PROGRESS" \
   {