diff options
author | Tor Lillqvist <tml@novell.com> | 2005-04-19 06:21:32 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2005-04-19 06:21:32 +0000 |
commit | a18fd89f6c9db048bdee8e9f8ccb506d0c7152d7 (patch) | |
tree | 632fbc7d0b5d57be5f3264dc7951900d8bcc85b5 /tests | |
parent | c1c9e22042e1a4f8bfbdbb85ce91b6bcab00af52 (diff) | |
download | libsoup-a18fd89f6c9db048bdee8e9f8ccb506d0c7152d7.tar.gz |
Call AC_LIBTOOL_WIN32_DLL. Check for Win32, set Automake conditional
2005-04-18 Tor Lillqvist <tml@novell.com>
* configure.in: Call AC_LIBTOOL_WIN32_DLL. Check for Win32, set
Automake conditional OS_WIN32. Pre-cache information that we do
have getaddrinfo(), getnameinfo(), and IPv6 on Win32. (The tests
wouldn't notice as they don't include the necessary headers or
link with -lws2_32. Easiest to just pre-cache it.)
* libsoup-zip.in: New file, to build zipfile-based distribution of
libsoup for Win32.
* Makefile.am (EXTRA_DIST)
* configure.in (AC_OUTPUT): Add libsoup-zip(.in).
* libsoup/Makefile.am: Use -no-undefined on Win32. Link with
WinSock library -lws2_32.
* libsoup/soup-portability.h: New file. On Unix it includes the
traditional BSD socket etc headers. On Win32 it includes
winsock2.h and ws2tcpip.h.
* libsoup/*.c
* libsoup/*.h: Correspondingly, don't include the BSD socket API
headers directly.
* libsoup/soup-address.h
* libsoup/soup-dns.h: Include soup-portability.h
* libsoup/soup-address.c (soup_address_class_init): This function
should get called before libsoup uses the WinSock API, so this is
a good place to call WSAStartup().
* libsoup/soup-auth-digest.c (get_protection_space): Use
g_strsplit() instead of the relatively unportable strtok_r().
* libsoup/soun-dns.c: Remove unused headers. Implement
inet_pton() and inet_ntop() on Win32 using WSAStringToAddress()
and WSAAddressToString().
* libsoup/soup-socket.c (SOUP_CLOSE_SOCKET, SOUP_IS_SOCKET_ERROR,
SOUP_IS_INVALID_SOCKET, SOUP_IS_CONNECT_STATUS_INPROGRESS):
Portability macros.
(soup_socket_class_init): Call soup_address_get_type() to make
sure WSAStartup() gets called (through soup_address_class_init()).
(update_fdflags): Use ioctlsocket(FIONBIO) on Win32.
(soup_socket_write): Conditionalize SIGPIPE use.
* tests/get.c: mkdir() is different in Microsoft's C library.
* tests/simple-httpd.c: Rename TRY_AGAIN label to AGAIN to avoid
some clash with winsock2.h (which includes windows.h). The Win32
headers pollute the namespace wildly.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/get.c | 5 | ||||
-rw-r--r-- | tests/simple-httpd.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/tests/get.c b/tests/get.c index 5c7e5d07..dcf5b6ec 100644 --- a/tests/get.c +++ b/tests/get.c @@ -14,6 +14,11 @@ #include <libsoup/soup.h> +#ifdef G_OS_WIN32 +#include <io.h> +#define mkdir(path, mode) _mkdir (path) +#endif + gboolean recurse = FALSE; SoupSession *session; GMainLoop *loop; diff --git a/tests/simple-httpd.c b/tests/simple-httpd.c index d50f38e7..3884e9aa 100644 --- a/tests/simple-httpd.c +++ b/tests/simple-httpd.c @@ -54,7 +54,7 @@ server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data) path_to_open = g_strdup_printf (".%s", path); - TRY_AGAIN: + AGAIN: if (stat (path_to_open, &st) == -1) { g_free (path_to_open); if (errno == EPERM) @@ -84,7 +84,7 @@ server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data) g_free (path_to_open); path_to_open = g_strdup_printf (".%s/index.html", path); - goto TRY_AGAIN; + goto AGAIN; } fd = open (path_to_open, O_RDONLY); |