]> granicus.if.org Git - curl/commitdiff
Gisle Vanem:
authorDaniel Stenberg <daniel@haxx.se>
Fri, 26 Mar 2004 13:47:46 +0000 (13:47 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 26 Mar 2004 13:47:46 +0000 (13:47 +0000)
A patch to bypass MS' sillyness with regard to IPv6 and getaddrinfo().

The CURLDEBUG part is to avoid redefinition warning caused by memdebug.h. If
ENABLE_IPV6 isn't enabled, it doesn't matter since we never call
getaddrinfo(). Allthough we could to support weird protocols like SOCK_RDM
that Win-2K/XP has.

lib/setup.h

index 11e137fc2dd30042203b0f320647766b757ccd48..fe1613c112304f1e2cdbcb0608f6ada8187b0ae5 100644 (file)
@@ -166,6 +166,17 @@ defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO)
 #define WIN32_LEAN_AND_MEAN  /* Prevent including <winsock*.h> in <windows.h> */
 #endif
 
+#if (defined(ENABLE_IPV6) || defined(CURLDEBUG)) && defined(_MSC_VER) && \
+    (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0500)
+/*
+ * Needed to pull in the real getaddrinfo() and not the inline version
+ * in <wspiAPI.H> which doesn't support IPv6 (IPv4 only). <wspiAPI.H> is
+ * included from <ws2tcpip.h> for <= 0x0500 SDKs.
+ */
+#undef  _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#endif
+
 #include <winsock2.h>        /* required by telnet.c */
 
 #if defined(ENABLE_IPV6) || defined(USE_SSLEAY)