> test-poll.o: In function `open_server_socket': > /home/yoann/dev/prelude/git/gnulib/poll/gltests/test-poll.c:91: > undefined reference to `_inet_aton' > test-poll.o: In function `connect_to_socket': > /home/yoann/dev/prelude/git/gnulib/poll/gltests/test-poll.c:121: > undefined reference to `_inet_aton'
Hmmm... No inet_aton on Windows, it has WSAStringToAddress instead. Let's use inet_pton instead, since gnulib does have a replacement for that. Paolo 2008-09-12 Paolo Bonzini <[EMAIL PROTECTED]> * modules/poll-tests: Add inet_pton, stdbool, sockets. * tests/test-poll.c: Use them. Use _pipe on Windows. diff --git a/modules/poll-tests b/modules/poll-tests index 1484aaa..7c44a48 100644 --- a/modules/poll-tests +++ b/modules/poll-tests @@ -2,10 +2,13 @@ Files: tests/test-poll.c Depends-on: +stdbool sys_socket netinet_in arpa_inet extensions +inet_pton +sockets configure.ac: AC_CHECK_HEADERS_ONCE([io.h unistd.h sys/wait.h]) diff --git a/tests/test-poll.c b/tests/test-poll.c index cacb3a2..2d2e0e7 100644 --- a/tests/test-poll.c +++ b/tests/test-poll.c @@ -27,10 +27,13 @@ #include <poll.h> #include <fcntl.h> #include <stdlib.h> +#include <stdbool.h> #include <errno.h> +#include "sockets.h" #ifdef HAVE_IO_H #include <io.h> +#define pipe _pipe #endif #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -39,8 +42,6 @@ #include <sys/wait.h> #endif -enum { FALSE, TRUE }; - #ifndef SO_REUSEPORT #define SO_REUSEPORT SO_REUSEADDR #endif @@ -87,7 +88,7 @@ open_server_socket () memset (&ia, 0, sizeof (ia)); ia.sin_family = AF_INET; - inet_aton ("127.0.0.1", &ia.sin_addr); + inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); ia.sin_port = htons (TEST_PORT); if (bind (s, (struct sockaddr *) &ia, sizeof (ia)) < 0) { @@ -117,7 +118,7 @@ connect_to_socket (int blocking) memset (&ia, 0, sizeof (ia)); ia.sin_family = AF_INET; - inet_aton ("127.0.0.1", &ia.sin_addr); + inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); ia.sin_port = htons (TEST_PORT); if (!blocking) @@ -218,7 +219,7 @@ test_connect_first (void) if (poll1_nowait (s, POLLIN | POLLRDNORM | POLLRDBAND) != 0) failed ("can read, socket not connected"); - c1 = connect_to_socket (FALSE); + c1 = connect_to_socket (false); if (poll1_wait (s, POLLIN | POLLRDNORM | POLLRDBAND) != (POLLIN | POLLRDNORM)) failed ("expecting POLLIN | POLLRDNORM on passive socket"); @@ -265,7 +266,7 @@ test_accept_first (void) else { close (s); - c = connect_to_socket (TRUE); + c = connect_to_socket (true); if (poll1_nowait (c, POLLOUT | POLLWRNORM | POLLRDBAND) != (POLLOUT | POLLWRNORM)) failed ("cannot write after blocking connect"); @@ -319,7 +320,7 @@ test_socket_pair (void) socklen_t addrlen = sizeof (ia); int s = open_server_socket (); - int c1 = connect_to_socket (FALSE); + int c1 = connect_to_socket (false); int c2 = accept (s, (struct sockaddr *) &ia, &addrlen); close (s); @@ -358,6 +359,8 @@ main () { int result; + gl_sockets_startup (SOCKETS_2_0); + #ifdef INTERACTIVE printf ("Please press Enter\n"); test (test_tty, "TTY");