[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: errors building m4 on interix/sfu/sua
From: |
Bruno Haible |
Subject: |
Re: errors building m4 on interix/sfu/sua |
Date: |
Wed, 17 Jun 2009 10:37:58 +0200 |
User-agent: |
KMail/1.9.9 |
Eric Blake wrote:
> gnulib can work around missing ESTALE, but we
> would need to port errno_h.m4 to detect interix's situation
Done as follows:
2009-06-17 Bruno Haible <address@hidden>
Define missing ESTALE on Interix 3.5.
* lib/errno.in.h (ESTALE): Assign a value if missing.
* lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
missing.
* doc/posix-headers/errno.texi: Mention the Interix bug.
Reported by Jay Krell <address@hidden> via Eric Blake.
--- lib/errno.in.h.orig 2009-06-17 10:33:17.000000000 +0200
+++ lib/errno.in.h 2009-06-17 10:24:53.000000000 +0200
@@ -1,6 +1,6 @@
/* A POSIX-like <errno.h>.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -145,6 +145,11 @@
# define GNULIB_defined_ENOTSUP 1
# endif
+# ifndef ESTALE
+# define ESTALE 2009
+# define GNULIB_defined_ESTALE 1
+# endif
+
# ifndef ECANCELED
# define ECANCELED 2008
# define GNULIB_defined_ECANCELED 1
--- lib/strerror.c.orig 2009-06-17 10:33:17.000000000 +0200
+++ lib/strerror.c 2009-06-17 10:28:13.000000000 +0200
@@ -313,7 +313,13 @@
break;
# endif
-# if GNULIB_defined_
+# if GNULIB_defined_ESTALE
+ case ESTALE:
+ msg = "Stale NFS file handle";
+ break;
+# endif
+
+# if GNULIB_defined_ECANCELED
case ECANCELED:
msg = "Operation canceled";
break;
--- m4/errno_h.m4.orig 2009-06-17 10:33:17.000000000 +0200
+++ m4/errno_h.m4 2009-06-17 10:23:39.000000000 +0200
@@ -1,4 +1,4 @@
-# errno_h.m4 serial 5
+# errno_h.m4 serial 6
dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -34,6 +34,9 @@
#if !defined ENOTSUP
booboo
#endif
+#if !defined ESTALE
+booboo
+#endif
#if !defined ECANCELED
booboo
#endif
--- doc/posix-headers/errno.texi.orig 2009-06-17 10:33:17.000000000 +0200
+++ doc/posix-headers/errno.texi 2009-06-17 10:21:00.000000000 +0200
@@ -19,14 +19,17 @@
@code{ENOTSUP} are not defined on some platforms:
OpenBSD 4.0, mingw.
@item
+The macro @code{ESTALE} is not defined on some platforms:
+mingw, Interix 3.5.
address@hidden
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},
address@hidden, @code{EALREADY}, @code{EINPROGRESS}, @code{ESTALE},
address@hidden are not defined on some platforms:
address@hidden, @code{EALREADY}, @code{EINPROGRESS}, @code{EDQUOT} are
+not defined on some platforms:
mingw.
@end itemize