getaddrinfo: fix gai_strerror signature
authorEric Blake <eblake@redhat.com>
Thu, 28 Apr 2011 22:46:16 +0000 (16:46 -0600)
committerEric Blake <eblake@redhat.com>
Thu, 28 Apr 2011 23:35:16 +0000 (17:35 -0600)
commit74175b903b1716c1677658e45fa69ef1fbc99015
treeea876262a1dc6e99eacad03069070d6f7a064b93
parent7aa5e8dd3a8431c2354197961b3f2cd76864091f
getaddrinfo: fix gai_strerror signature

Several platforms declare gai_strerror to return char* rather than
const char*.  Worse, on mingw, if UNICODE is defined, it is defined
to return WCHAR*, which means the result is in unicode but an
application expecting bytes for characters will only see a one-byte
answer.

* 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.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
doc/posix-functions/gai_strerror.texi
lib/gai_strerror.c
lib/netdb.in.h
m4/getaddrinfo.m4
m4/netdb_h.m4
modules/netdb