]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sckaddr.cpp
no real change; just reordered some implementations before real commit
[wxWidgets.git] / src / common / sckaddr.cpp
index 6f7601842ebdee0e5c72196e17ae9bd822ef7a05..a988fca1a24de98831362380965136cb4bc10846 100644 (file)
@@ -47,6 +47,7 @@
 #include "wx/private/sckaddr.h"
 
 #ifdef __UNIX__
+    #include <errno.h>
     #include <netdb.h>
     #include <arpa/inet.h>
 #endif // __UNIX__
@@ -74,7 +75,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 +86,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