]> git.saurik.com Git - wxWidgets.git/commitdiff
build fixes for wxUSE_IPV6==1 under Windows
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 29 Dec 2008 14:51:49 +0000 (14:51 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 29 Dec 2008 14:51:49 +0000 (14:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/private/sckaddr.h
src/common/sckaddr.cpp

index eafa8fdccb0d652d0b8841f091649a989408de49..1fd89a3b98217dfd362234396bf585ebb22bc8c9 100644 (file)
 
 #ifdef __WXMSW__
     #include "wx/msw/wrapwin.h"
+
+    #if wxUSE_IPV6
+        #include <ws2tcpip.h>
+    #endif
 #elif defined(__VMS__)
     #include <socket.h>
 
index 6f7601842ebdee0e5c72196e17ae9bd822ef7a05..ab3c0cdee80e3983f3dddcf6a005fa8d22157308 100644 (file)
@@ -74,7 +74,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
 // ============================================================================
 
 // TODO: use POSIX getaddrinfo() (also available in Winsock 2) for simplicity
-//       and IPv6 support
+//       and to use the same code for IPv4 and IPv6 support
 
 #ifdef __WXMSW__
     #define HAVE_INET_ADDR
@@ -85,6 +85,23 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
     // under MSW getxxxbyname() functions are MT-safe (but not reentrant) so
     // we don't need to serialize calls to them
     #define wxHAS_MT_SAFE_GETBY_FUNCS
+
+    #if wxUSE_IPV6
+        // this header does dynamic dispatching of getaddrinfo/freeaddrinfo()
+        // by implementing them in its own code if the system versions are not
+        // available (as is the case for anything < XP)
+        //
+        // NB: if this is not available for the other compilers (so far tested
+        //      with MSVC only) we should just use wxDynamicLibrary "manually"
+        #ifdef __VISUALC__
+            // disable a warning occurring in Microsoft own version of this file
+            #pragma warning(disable:4706)
+        #endif
+        #include <wspiapi.h>
+        #ifdef __VISUALC__
+            #pragma warning(default:4706)
+        #endif
+    #endif
 #endif // __WXMSW__
 
 // we assume that we have gethostbyaddr_r() if and only if we have