summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2010-10-02 18:54:05 +0200
committerBruno Haible <bruno@clisp.org>2010-10-02 18:54:05 +0200
commit3534c3af248f7e657e0ce5122260fbcf367dc478 (patch)
treec203c393623a7c302389a0769e56457c16718289
parentb14c9a8fe13af6d31cdd5cb0a2210eb6b5e8a620 (diff)
downloadgnulib-3534c3af248f7e657e0ce5122260fbcf367dc478.tar.gz
Define missing EDQUOT on NonStop Kernel.
* lib/errno.in.h (EDQUOT): Assign a value if missing. * lib/strerror.c (rpl_strerror): Handle missing EDQUOT. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is missing. * doc/posix-headers/errno.texi: Mention the NSK bug. * doc/posix-functions/strerror.texi: Mention the workaround on NSK. Reported by Joachim Schmitz <schmitz@hp.com>.
-rw-r--r--ChangeLog11
-rw-r--r--doc/posix-functions/strerror.texi2
-rw-r--r--doc/posix-headers/errno.texi7
-rw-r--r--lib/errno.in.h6
-rw-r--r--lib/strerror.c6
-rw-r--r--m4/errno_h.m47
6 files changed, 34 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 083d820f40..72d5fa8c7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2010-10-02 Bruno Haible <bruno@clisp.org>
+ Define missing EDQUOT on NonStop Kernel.
+ * lib/errno.in.h (EDQUOT): Assign a value if missing.
+ * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
+ * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
+ missing.
+ * doc/posix-headers/errno.texi: Mention the NSK bug.
+ * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
+ Reported by Joachim Schmitz <schmitz@hp.com>.
+
+2010-10-02 Bruno Haible <bruno@clisp.org>
+
Update doc for POSIX:2008.
* doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
Update URL of POSIX specification.
diff --git a/doc/posix-functions/strerror.texi b/doc/posix-functions/strerror.texi
index 4fbadf59d2..84d92c3f14 100644
--- a/doc/posix-functions/strerror.texi
+++ b/doc/posix-functions/strerror.texi
@@ -11,7 +11,7 @@ Portability problems fixed by Gnulib:
@item
This function does not support the error values that are specified by POSIX
but not defined by the system, on some platforms:
-OpenBSD 4.0, OSF/1 5.1, Cygwin 1.5.x, mingw.
+OpenBSD 4.0, OSF/1 5.1, NonStop Kernel, Cygwin 1.5.x, mingw.
@item
This function fails to return a string for out-of-range integers on
some platforms:
diff --git a/doc/posix-headers/errno.texi b/doc/posix-headers/errno.texi
index f86f1d26c4..eb1623dc70 100644
--- a/doc/posix-headers/errno.texi
+++ b/doc/posix-headers/errno.texi
@@ -22,14 +22,17 @@ OpenBSD 4.0, mingw.
The macro @code{ESTALE} is not defined on some platforms:
mingw, Interix 3.5.
@item
+The macro @code{EDQUOT} is not defined on some platforms:
+NonStop Kernel, mingw.
+@item
The macros @code{EWOULDBLOCK}, @code{ETXTBSY}, @code{ELOOP}, @code{ENOTSOCK},
@code{EDESTADDRREQ}, @code{EMSGSIZE}, @code{EPROTOTYPE}, @code{ENOPROTOOPT},
@code{EPROTONOSUPPORT}, @code{EOPNOTSUPP}, @code{EAFNOSUPPORT},
@code{EADDRINUSE}, @code{EADDRNOTAVAIL}, @code{ENETDOWN}, @code{ENETUNREACH},
@code{ENETRESET}, @code{ECONNABORTED}, @code{ECONNRESET}, @code{ENOBUFS},
@code{EISCONN}, @code{ENOTCONN}, @code{ETIMEDOUT}, @code{ECONNREFUSED},
-@code{EHOSTUNREACH}, @code{EALREADY}, @code{EINPROGRESS}, @code{EDQUOT} are
-not defined on some platforms:
+@code{EHOSTUNREACH}, @code{EALREADY}, @code{EINPROGRESS} are not defined on
+some platforms:
mingw.
@end itemize
diff --git a/lib/errno.in.h b/lib/errno.in.h
index 9ac3a5b4e8..cf8dde6ff0 100644
--- a/lib/errno.in.h
+++ b/lib/errno.in.h
@@ -98,6 +98,7 @@
/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
+ Likewise, on NonStop Kernel, EDQUOT is not defined.
Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151,
HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
@@ -150,6 +151,11 @@
# define GNULIB_defined_ESTALE 1
# endif
+# ifndef EDQUOT
+# define EDQUOT 2010
+# define GNULIB_defined_EDQUOT 1
+# endif
+
# ifndef ECANCELED
# define ECANCELED 2008
# define GNULIB_defined_ECANCELED 1
diff --git a/lib/strerror.c b/lib/strerror.c
index 46153abf5f..6e1c0b0ebb 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -322,6 +322,12 @@ rpl_strerror (int n)
break;
# endif
+# if GNULIB_defined_EDQUOT
+ case EDQUOT:
+ msg = "Disk quota exceeded";
+ break;
+# endif
+
# if GNULIB_defined_ECANCELED
case ECANCELED:
msg = "Operation canceled";
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
index d02a039363..e4325ac660 100644
--- a/m4/errno_h.m4
+++ b/m4/errno_h.m4
@@ -1,5 +1,5 @@
-# errno_h.m4 serial 6
-dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+# errno_h.m4 serial 7
+dnl Copyright (C) 2004, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -37,6 +37,9 @@ booboo
#if !defined ESTALE
booboo
#endif
+#if !defined EDQUOT
+booboo
+#endif
#if !defined ECANCELED
booboo
#endif