# HG changeset patch # User Paolo Bonzini # Date 1338740940 -7200 # Node ID a6389b5137563126409c9aeac61e84ddbf1eaa42 # Parent 75dd3fc6e824f3d086a773b9b5bf4a5a53cb9f8b error, strerror-override: Support mingw64 from Fedora 17. * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to EINPROGRESS. * lib/strerror-override.h (strerror_override): Test it. * lib/strerror-override.c (strerror_override): Likewise. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-05-21 Paolo Bonzini + Bruno Haible + + error, strerror-override: Support mingw64 from Fedora 17. + * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator + for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to + EINPROGRESS. + * lib/strerror-override.h (strerror_override): Test it. + * lib/strerror-override.c (strerror_override): Likewise. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY. + 2012-05-21 Paolo Bonzini Bruno Haible diff --git a/lib/errno.in.h b/lib/errno.in.h --- a/lib/errno.in.h +++ b/lib/errno.in.h @@ -118,13 +118,17 @@ # define ELOOP 114 # define EHOSTUNREACH 110 # define EWOULDBLOCK 140 +# define GNULIB_defined_ESOCK 1 +# endif + +# ifndef ETXTBSY # define ETXTBSY 139 # define ENODATA 120 /* not required by POSIX */ # define ENOSR 124 /* not required by POSIX */ # define ENOSTR 125 /* not required by POSIX */ # define ETIME 137 /* not required by POSIX */ # define EOTHER 131 /* not required by POSIX */ -# define GNULIB_defined_ESOCK 1 +# define GNULIB_defined_ESTREAMS 1 # endif /* These are intentionally the same values as the WSA* error numbers, defined diff --git a/lib/strerror-override.c b/lib/strerror-override.c --- a/lib/strerror-override.c +++ b/lib/strerror-override.c @@ -89,6 +89,8 @@ return "No route to host"; case EWOULDBLOCK: return "Operation would block"; +#endif +#if GNULIB_defined_ESTREAMS /* native Windows platforms with older */ case ETXTBSY: return "Text file busy"; case ENODATA: diff --git a/lib/strerror-override.h b/lib/strerror-override.h --- a/lib/strerror-override.h +++ b/lib/strerror-override.h @@ -30,6 +30,7 @@ describing the error. Otherwise return NULL. */ # if REPLACE_STRERROR_0 \ || GNULIB_defined_ESOCK \ + || GNULIB_defined_ESTREAMS \ || GNULIB_defined_EWINSOCK \ || GNULIB_defined_ENOMSG \ || GNULIB_defined_EIDRM \ diff --git a/m4/errno_h.m4 b/m4/errno_h.m4 --- a/m4/errno_h.m4 +++ b/m4/errno_h.m4 @@ -10,6 +10,9 @@ AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ AC_EGREP_CPP([booboo],[ #include +#if !defined ETXTBSY +booboo +#endif #if !defined ENOMSG booboo #endif