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 | |
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')
-rw-r--r-- | src/hashcomp.cpp | 2 | ||||
-rw-r--r-- | src/language.cpp | 12 | ||||
-rw-r--r-- | src/misc.cpp | 1 | ||||
-rw-r--r-- | src/sockets.cpp | 18 |
4 files changed, 22 insertions, 11 deletions
diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index 839d65da8..129f38e07 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -197,7 +197,7 @@ bool std::less<ci::string>::operator()(const Anope::string &s1, const Anope::str */ bool std::less<irc::string>::operator()(const Anope::string &s1, const Anope::string &s2) const { - return s2.irc_str().compare(s2.irc_str()) < 0; + return s1.irc_str().compare(s2.irc_str()) < 0; } sepstream::sepstream(const Anope::string &source, char seperator) : tokens(source), sep(seperator) diff --git a/src/language.cpp b/src/language.cpp index 318f10f38..6e9192756 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -84,7 +84,7 @@ static void load_lang(int index, const char *filename) } else if (num != NUM_STRINGS) Alog() << "Warning: Bad number of strings (" << num << " , wanted " << NUM_STRINGS << ") for language " << index << " (" << filename << ")"; - langtexts[index] = new char *[NUM_STRINGS]; + langtexts[index] = static_cast<char **>(scalloc(sizeof(char *), NUM_STRINGS)); if (num > NUM_STRINGS) num = NUM_STRINGS; for (i = 0; i < num; ++i) @@ -99,7 +99,7 @@ static void load_lang(int index, const char *filename) if (langtexts[index][i]) free(langtexts[index][i]); // XXX } - delete [] langtexts[index]; + free(langtexts[index]); langtexts[index] = NULL; return; } @@ -113,7 +113,7 @@ static void load_lang(int index, const char *filename) if (langtexts[index][i]) free(langtexts[index][i]); // XXX } - delete [] langtexts[index]; + free(langtexts[index]); langtexts[index] = NULL; return; } @@ -125,13 +125,13 @@ static void load_lang(int index, const char *filename) if (langtexts[index][i]) free(langtexts[index][i]); // XXX } - delete [] langtexts[index]; + free(langtexts[index]); langtexts[index] = NULL; return; } else { - langtexts[index][i] = new char[len + 1]; + langtexts[index][i] = static_cast<char *>(malloc(len + 1)); fseek(f, pos, SEEK_SET); if (fread(langtexts[index][i], 1, len, f) != len) { @@ -141,7 +141,7 @@ static void load_lang(int index, const char *filename) if (langtexts[index][i]) free(langtexts[index][i]); } - delete [] langtexts[index]; + free(langtexts[index]); langtexts[index] = NULL; return; } diff --git a/src/misc.cpp b/src/misc.cpp index 0e838695d..f44532220 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -12,7 +12,6 @@ #include "services.h" #include "language.h" -#include "hashcomp.h" // If this gets added to services.h or someplace else later, remove it from here -- CyberBotX /* Cheaper than isspace() or isblank() */ #define issp(c) ((c) == 32) 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; |