+2025-01-06 Collin Funk <collin.funk1@gmail.com>
+
+ servent tests: Fix failure on 32-bit native Windows.
+ * tests/test-servent.c (getservbyname, getservbyport)
+ [_WIN32 && !_WIN64 && !__CYGWIN__]: Disable signature check.
+ * doc/posix-functions/getservbyname.texi: Document the incompatible
+ __stdcall function signature.
+ * doc/posix-functions/getservbyport.texi: Likewise.
+
2025-01-05 Bruno Haible <bruno@clisp.org>
sigsegv tests: Work around a longjmp bug on GNU/Hurd.
Portability problems not fixed by Gnulib:
@itemize
+@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
+@item
+On Windows, in 32-bit mode, this function is defined with a calling
+convention that is different from @code{cdecl}.
@end itemize
#include <netdb.h>
#include "signature.h"
+
+#if !(defined _WIN32 && !defined _WIN64 && !defined __CYGWIN__)
+/* On 32-bit native Windows, these two functions may have the __stdcall calling
+ convention. But the SIGNATURE_CHECK works only for functions with __cdecl
+ calling convention. */
SIGNATURE_CHECK (getservbyname, struct servent *,
(char const *, char const *));
SIGNATURE_CHECK (getservbyport, struct servent *, (int, char const *));
+#endif
#include <stdio.h>
#include <arpa/inet.h>