From 67badd5753e70eb50de5ae43ff454e7c1f311e50 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 29 Dec 2008 14:51:49 +0000 Subject: [PATCH] build fixes for wxUSE_IPV6==1 under Windows git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/private/sckaddr.h | 4 ++++ src/common/sckaddr.cpp | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/include/wx/private/sckaddr.h b/include/wx/private/sckaddr.h index eafa8fdccb..1fd89a3b98 100644 --- a/include/wx/private/sckaddr.h +++ b/include/wx/private/sckaddr.h @@ -13,6 +13,10 @@ #ifdef __WXMSW__ #include "wx/msw/wrapwin.h" + + #if wxUSE_IPV6 + #include + #endif #elif defined(__VMS__) #include diff --git a/src/common/sckaddr.cpp b/src/common/sckaddr.cpp index 6f7601842e..ab3c0cdee8 100644 --- a/src/common/sckaddr.cpp +++ b/src/common/sckaddr.cpp @@ -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 + #ifdef __VISUALC__ + #pragma warning(default:4706) + #endif + #endif #endif // __WXMSW__ // we assume that we have gethostbyaddr_r() if and only if we have