diff options
author | Adam <Adam@anope.org> | 2010-07-30 01:11:19 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-07-30 01:11:19 -0400 |
commit | 8e6fe991810985fea085a4ace0ee906e80e7cbd1 (patch) | |
tree | 2d171628f4a510df780f32ae46ccc8c262086560 /src/sockets.cpp | |
parent | e353b15df8a5bcbf2de37ac4e2acf9e2812283e4 (diff) |
Fixed some Windows issues with hashing and sockets. This currently limits building to VS 2010, will look at 2008 later
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r-- | src/sockets.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/sockets.cpp b/src/sockets.cpp index 345bb7032..b85255523 100644 --- a/src/sockets.cpp +++ b/src/sockets.cpp @@ -15,6 +15,21 @@ static void TrimBuf(std::string &buffer) buffer.erase(buffer.length() - 1); } +SocketEngineBase::SocketEngineBase() +{ +#ifdef _WIN32 + if (WSAStartup(MAKEWORD(2, 0), &wsa)) + Alog() << "Failed to initialize WinSock library"; +#endif +} + +SocketEngineBase::~SocketEngineBase() +{ +#ifdef _WIN32 + WSACleanup(); +#endif +} + /** Constructor * @param nsock The socket * @param nIPv6 IPv6? @@ -232,9 +247,6 @@ void Socket::Write(const Anope::string &message) */ ClientSocket::ClientSocket(const Anope::string &nTargetHost, int nPort, const Anope::string &nBindHost, bool nIPv6) : Socket(0, nIPv6), TargetHost(nTargetHost), Port(nPort), BindHost(nBindHost) { - if (!IPv6 && (TargetHost.find(':') != Anope::string::npos || BindHost.find(':') != Anope::string::npos)) - IPv6 = true; - addrinfo hints; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = 0; |