diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-04-27 14:27:05 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-04-27 15:37:26 +0200 |
commit | fe9e88cb06cf47fc30b122e3c768aa0dc1813e48 (patch) | |
tree | b91665b6a8e19bdf90af461b1926190399f82986 | |
parent | 3c3164da736d57bccc393f160236a507eacbae19 (diff) | |
download | bitcoin-fe9e88cb06cf47fc30b122e3c768aa0dc1813e48.tar.xz |
fix !O_NONBLOCK where ~O_NONBLOCK was meant
Using ! on a non-zero value will always return 0.
Also remove some duplicate and superfluous code in other places.
-rw-r--r-- | src/netbase.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp index 4f31ce9cf3..08d133740a 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -72,19 +72,14 @@ bool static LookupIntern(const char *pszName, std::vector<CNetAddr>& vIP, unsign aiHint.ai_socktype = SOCK_STREAM; aiHint.ai_protocol = IPPROTO_TCP; -#ifdef WIN32 -# ifdef USE_IPV6 +#ifdef USE_IPV6 aiHint.ai_family = AF_UNSPEC; -# else +#else aiHint.ai_family = AF_INET; -# endif +#endif +#ifdef WIN32 aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST; #else -# ifdef USE_IPV6 - aiHint.ai_family = AF_UNSPEC; -# else - aiHint.ai_family = AF_INET; -# endif aiHint.ai_flags = fAllowLookup ? AI_ADDRCONFIG : AI_NUMERICHOST; #endif struct addrinfo *aiRes = NULL; @@ -119,13 +114,12 @@ bool static LookupIntern(const char *pszName, std::vector<CNetAddr>& vIP, unsign bool LookupHost(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions, bool fAllowLookup) { - std::string str(pszName); - std::string strHost = str; - if (str.empty()) + std::string strHost(pszName); + if (strHost.empty()) return false; - if (boost::algorithm::starts_with(str, "[") && boost::algorithm::ends_with(str, "]")) + if (boost::algorithm::starts_with(strHost, "[") && boost::algorithm::ends_with(strHost, "]")) { - strHost = str.substr(1, str.size() - 2); + strHost = strHost.substr(1, strHost.size() - 2); } return LookupIntern(strHost.c_str(), vIP, nMaxSolutions, fAllowLookup); @@ -222,10 +216,9 @@ bool static Socks5(string strDest, int port, SOCKET& hSocket) return error("Hostname too long"); } char pszSocks5Init[] = "\5\1\0"; - char *pszSocks5 = pszSocks5Init; ssize_t nSize = sizeof(pszSocks5Init) - 1; - ssize_t ret = send(hSocket, pszSocks5, nSize, MSG_NOSIGNAL); + ssize_t ret = send(hSocket, pszSocks5Init, nSize, MSG_NOSIGNAL); if (ret != nSize) { closesocket(hSocket); @@ -414,7 +407,7 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe if (ioctlsocket(hSocket, FIONBIO, &fNonblock) == SOCKET_ERROR) #else fFlags = fcntl(hSocket, F_GETFL, 0); - if (fcntl(hSocket, F_SETFL, fFlags & !O_NONBLOCK) == SOCKET_ERROR) + if (fcntl(hSocket, F_SETFL, fFlags & ~O_NONBLOCK) == SOCKET_ERROR) #endif { closesocket(hSocket); |