Mercurial > hg > octave-nkf > gnulib-hg
changeset 13731:a35c1efcd66d
getaddrinfo: Initialize sockets, to make it work under Windows.
author | Simon Josefsson <simon@josefsson.org> |
---|---|
date | Sat, 25 Sep 2010 18:48:45 +0200 |
parents | 03260cfd24e5 |
children | b16d13c70a22 |
files | ChangeLog doc/gnulib.texi lib/getaddrinfo.c modules/getaddrinfo tests/test-getaddrinfo.c |
diffstat | 5 files changed, 15 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-09-25 Simon Josefsson <simon@josefsson.org> + + * modules/getaddrinfo (Depends-on): Depend on the sockets module. + * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make + sure Windows sockets are working before calling getaddrinfo. + * tests/test-getaddrinfo.c (main): Don't call WSAStartup here. + * doc/gnulib.texi (Windows sockets): Fix typo. + 2010-09-25 Bruno Haible <bruno@clisp.org> Tests for module 'regex-quote'.
--- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -989,7 +989,7 @@ Windows 2000 does not have getaddrinfo in its @file{WS2_32.DLL}. Thus, if you want to assume Windows XP or later, you can add -AC_DEFINE(WINVER, 0x0501) to avoid compiling to (partial) getaddrinfo +AC_DEFINE(WINVER, 0x0501) to avoid compiling the (partial) getaddrinfo implementation. If you want to support Windows 2000, don't do anything. The
--- a/lib/getaddrinfo.c +++ b/lib/getaddrinfo.c @@ -59,6 +59,9 @@ # define WIN32_NATIVE #endif +/* gl_sockets_startup */ +#include "sockets.h" + #ifdef WIN32_NATIVE typedef int (WSAAPI *getaddrinfo_func) (const char*, const char*, const struct addrinfo*, @@ -101,6 +104,8 @@ return 0; } + gl_sockets_startup (SOCKETS_1_1); + return 1; } #endif
--- a/modules/getaddrinfo +++ b/modules/getaddrinfo @@ -17,6 +17,7 @@ strdup servent hostent +sockets configure.ac: gl_GETADDRINFO
--- a/tests/test-getaddrinfo.c +++ b/tests/test-getaddrinfo.c @@ -161,25 +161,6 @@ int main (void) { -#if _WIN32 - { - WORD requested; - WSADATA data; - int err; - - requested = MAKEWORD (1, 1); - err = WSAStartup (requested, &data); - if (err != 0) - return 1; - - if (data.wVersion < requested) - { - WSACleanup (); - return 2; - } - } -#endif - return simple (HOST1, SERV1) + simple (HOST2, SERV2) + simple (HOST3, SERV3)