Define missing EDQUOT on NonStop Kernel.
authorBruno Haible <bruno@clisp.org>
Sat, 2 Oct 2010 16:54:05 +0000 (18:54 +0200)
committerBruno Haible <bruno@clisp.org>
Sat, 2 Oct 2010 16:54:05 +0000 (18:54 +0200)
* 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>.

ChangeLog
doc/posix-functions/strerror.texi
doc/posix-headers/errno.texi
lib/errno.in.h
lib/strerror.c
m4/errno_h.m4

index 083d820f409d4643116d68a85334a9bdd76faf66..72d5fa8c7a0e40510aa8c9bce5ad8b323e70867e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+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.
index 4fbadf59d25094c887d58dd6366bbf3d2fcf2ae6..84d92c3f1441fd36241534862e8dc3a2c0671f92 100644 (file)
@@ -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:
index f86f1d26c4260ba78bf7e81079effa00a08875fc..eb1623dc7019717d4404131d462e27cab1642310 100644 (file)
@@ -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
 
index 9ac3a5b4e80fb3e8b84f2d47308ef11110f698bd..cf8dde6ff03887924ad9f830ac73948a48e34e58 100644 (file)
@@ -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.
 
 #  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
index 46153abf5f08799d4c9917e59a2a1b33c96fdd6e..6e1c0b0ebbd962831a5cbf6a7f5a6d7e4dc344be 100644 (file)
@@ -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";
index d02a039363dda9dbd4eaf43d40e9cdbccb699446..e4325ac660e190773f22a946b03488ec3943a162 100644 (file)
@@ -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