X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5fe43b6017b7b3216e544792c893b53e6d15a408..d485bda109d5ef0fef36a3f737549e9b9f54baab:/src/common/sckaddr.cpp diff --git a/src/common/sckaddr.cpp b/src/common/sckaddr.cpp index 79cc6c4cac..3d25f93154 100644 --- a/src/common/sckaddr.cpp +++ b/src/common/sckaddr.cpp @@ -37,9 +37,7 @@ #include #include - #if !defined(__MWERKS__) - #include - #endif + #include #endif // !WX_PRECOMP #include "wx/socket.h" @@ -49,7 +47,7 @@ #include -#if defined(__UNIX__) && !defined(__CYGWIN__) +#if defined(__UNIX__) && !defined(__WXMSW__) #include #include #endif // __UNIX__ @@ -79,7 +77,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress) // TODO: use POSIX getaddrinfo() (also available in Winsock 2) for simplicity // and to use the same code for IPv4 and IPv6 support -#ifdef __WXMSW__ +#ifdef __WINDOWS__ #define HAVE_INET_ADDR #ifndef HAVE_GETHOSTBYNAME @@ -94,22 +92,23 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress) #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 + // 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) + #pragma warning(push) #pragma warning(disable:4706) - #endif - #include - #ifdef __VISUALC__ - #pragma warning(default:4706) + #include + #pragma warning(pop) + #else + // TODO: Use wxDynamicLibrary to bind to these functions + // dynamically on older Windows systems, currently a program + // built with wxUSE_IPV6==1 won't even start there, even if + // it doesn't actually use the socket stuff. + #include #endif #endif -#endif // __WXMSW__ +#endif // __WINDOWS__ // we assume that we have gethostbyaddr_r() if and only if we have // gethostbyname_r() and that it uses the similar conventions to it (see @@ -273,8 +272,9 @@ hostent *wxGethostbyname_r(const char *hostname, #elif defined(HAVE_FUNC_GETHOSTBYNAME_R_5) he = gethostbyname_r(hostname, h, buffer, size, err); #elif defined(HAVE_FUNC_GETHOSTBYNAME_R_3) - he = gethostbyname_r(hostname, h, &buffer); - *err = h_errno; + wxUnusedVar(var); + *err = gethostbyname_r(hostname, h, &buffer); + he = h; #elif defined(HAVE_GETHOSTBYNAME) wxLOCK_GETBY_MUTEX(name); @@ -304,8 +304,9 @@ hostent *wxGethostbyaddr_r(const char *addr_buf, #elif defined(HAVE_FUNC_GETHOSTBYADDR_R_5) he = gethostbyaddr_r(addr_buf, buf_size, proto, h, buffer, size, err); #elif defined(HAVE_FUNC_GETHOSTBYADDR_R_3) - he = gethostbyaddr_r(addr_buf, buf_size, proto, h, buffer); - *err = h_errno; + wxUnusedVar(size); + *err = gethostbyaddr_r(addr_buf, buf_size, proto, h, &buffer); + he = h; #elif defined(HAVE_GETHOSTBYADDR) wxLOCK_GETBY_MUTEX(addr); @@ -397,6 +398,7 @@ servent *wxGetservbyname_r(const char *port, #elif defined(HAVE_FUNC_GETSERVBYNAME_R_5) se = getservbyname_r(port, protocol, serv, buffer, size); #elif defined(HAVE_FUNC_GETSERVBYNAME_R_4) + wxUnusedVar(size); if ( getservbyname_r(port, protocol, serv, &buffer) != 0 ) return NULL; #elif defined(HAVE_GETSERVBYNAME)