summaryrefslogtreecommitdiff
path: root/src/sockets.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-07-30 01:11:19 -0400
committerAdam <Adam@anope.org>2010-07-30 01:11:19 -0400
commit8e6fe991810985fea085a4ace0ee906e80e7cbd1 (patch)
tree2d171628f4a510df780f32ae46ccc8c262086560 /src/sockets.cpp
parente353b15df8a5bcbf2de37ac4e2acf9e2812283e4 (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.cpp18
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;