Hash :
dcf8aee1
Author :
Date :
2019-12-12T02:43:07
getaddrinfo: Fix calling convention in 32-bit mode on native Windows. * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define HAVE_GETADDRINFO as a C macro. * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO, declare as replacement functions. * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO, define as no-op overrides. * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO. * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO. * modules/getaddrinfo (Depends-on, configure.ac): Test REPLACE_GETADDRINFO. * doc/posix-functions/getaddrinfo.texi: Mention calling convention problem. * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling convention problems.
@node freeaddrinfo
@section @code{freeaddrinfo}
@findex freeaddrinfo
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html}
Gnulib module: getaddrinfo
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
HP-UX 11.11, IRIX 6.5, Cygwin 1.5.x, mingw, MSVC 14.
@item
On Windows, this function is declared in @code{<ws2tcpip.h>} rather than in
@code{<netdb.h>}.
@item
On Windows, in 32-bit mode, this function is defined with a calling convention
that is different from @code{cdecl}.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize