Eric Blake wrote: > + getaddrinfo: fix gai_strerror signature > + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures, > + and work around mingw with UNICODE defined. > + (gl_PREREQ_GETADDRINFO): Drop redundant decl check. > + * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness. > + * modules/netdb (Makefile.am): Substitute it. > + * lib/netdb.in.h (gai_strerror): Declare replacement. > + * lib/gai_strerror.c (rpl_gai_strerror): Fix signature. > + * doc/posix-functions/gai_strerror.texi (gai_strerror): Document > + the fix.
Very nice. Since it's the first use of _GL_FUNCDECL_RPL in lib/netdb.in.h, the following additional changes are needed in the same commit: --- lib/netdb.in.h.orig Fri Apr 29 14:05:51 2011 +++ lib/netdb.in.h Fri Apr 29 14:04:49 2011 @@ -41,6 +41,8 @@ 'struct hostent' on MinGW. */ #include <sys/socket.h> +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ --- modules/netdb.orig Fri Apr 29 14:05:51 2011 +++ modules/netdb Fri Apr 29 14:05:30 2011 @@ -6,6 +6,7 @@ m4/netdb_h.m4 Depends-on: +c++defs include_next arg-nonnull warn-on-use @@ -19,7 +20,7 @@ # We need the following in order to create <netdb.h> when the system # doesn't have one that works with the given compiler. -netdb.h: netdb.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(WARN_ON_USE_H) +netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @@ -34,6 +35,7 @@ -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ -e 's|@''REPLACE_GAI_STRERROR''@|$(REPLACE_GAI_STRERROR)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/netdb.in.h; \