diff --git a/src/Nazara/Network/Win32/IpAddressImpl.cpp b/src/Nazara/Network/Win32/IpAddressImpl.cpp index 992b075a9..257e50cf6 100644 --- a/src/Nazara/Network/Win32/IpAddressImpl.cpp +++ b/src/Nazara/Network/Win32/IpAddressImpl.cpp @@ -9,6 +9,15 @@ #include #include +// some MinGW distributions seem to lack some defines +#ifndef ERROR_NOT_ENOUGH_MEMORY +#define ERROR_NOT_ENOUGH_MEMORY 8L +#endif + +#ifndef WSA_NOT_ENOUGH_MEMORY +#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY) +#endif + namespace Nz { namespace Detail diff --git a/src/Nazara/Network/Win32/SocketImpl.cpp b/src/Nazara/Network/Win32/SocketImpl.cpp index b410af93c..e7af5ff71 100644 --- a/src/Nazara/Network/Win32/SocketImpl.cpp +++ b/src/Nazara/Network/Win32/SocketImpl.cpp @@ -8,8 +8,8 @@ #include #include -#if defined(NAZARA_COMPILER_MINGW) && __GNUC__ < 5 // Some compilers (olders versions of MinGW) are lacking Mstcpip.h which defines the following struct/#define +#if (defined(__has_include) && !__has_include()) || (defined(NAZARA_COMPILER_MINGW) && !defined(__has_include)) struct tcp_keepalive { u_long onoff; diff --git a/src/Nazara/Network/Win32/SocketPollerImpl.cpp b/src/Nazara/Network/Win32/SocketPollerImpl.cpp index 43dc9fec2..658e86c8e 100644 --- a/src/Nazara/Network/Win32/SocketPollerImpl.cpp +++ b/src/Nazara/Network/Win32/SocketPollerImpl.cpp @@ -37,7 +37,7 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_readyToReadSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readyToReadSockets) != 0; + return FD_ISSET(socket, const_cast(&m_readyToReadSockets)) != 0; //< FD_ISSET is not const-correct #endif } @@ -46,7 +46,7 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_readyToWriteSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readyToWriteSockets) != 0; + return FD_ISSET(socket, const_cast(&m_readyToWriteSockets)) != 0; //< FD_ISSET is not const-correct #endif } @@ -55,8 +55,9 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_allSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readSockets) != 0 || - FD_ISSET(socket, &m_writeSockets) != 0; + // FD_ISSET is not const-correct + return FD_ISSET(socket, const_cast(&m_readSockets)) != 0 || + FD_ISSET(socket, const_cast(&m_writeSockets)) != 0; #endif }