Merge pull request #223 from sipa/dnslookup

bugfix in dnslookup code: didn't compile in mingw
This commit is contained in:
Pieter Wuille 2011-05-14 09:48:42 -07:00
commit f53faffb91

View file

@ -130,6 +130,8 @@ bool ConnectSocket(const CAddress& addrConnect, SOCKET& hSocketRet)
bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMaxSolutions, bool fAllowLookup, int portDefault, bool fAllowPort) bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMaxSolutions, bool fAllowLookup, int portDefault, bool fAllowPort)
{ {
vaddr.clear(); vaddr.clear();
if (pszName[0] == 0)
return false;
int port = portDefault; int port = portDefault;
char psz[256]; char psz[256];
char *pszHost = psz; char *pszHost = psz;
@ -155,11 +157,11 @@ bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMa
} }
} }
struct in_addr addrIP; unsigned int addrIP = inet_addr(pszHost);
if (inet_aton(pszHost, &addrIP)) if (addrIP != INADDR_NONE)
{ {
// valid IP address passed // valid IP address passed
vaddr.push_back(CAddress(addrIP.s_addr, port, nServices)); vaddr.push_back(CAddress(addrIP, port, nServices));
return true; return true;
} }
@ -1524,7 +1526,7 @@ void StartNode(void* parg)
if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR) if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR)
{ {
vector<CAddress> vaddr; vector<CAddress> vaddr;
if (NameLookup(pszHostName, vaddr, nLocalServices)) if (Lookup(pszHostName, vaddr, nLocalServices, -1, true))
foreach (const CAddress &addr, vaddr) foreach (const CAddress &addr, vaddr)
if (addr.GetByte(3) != 127) if (addr.GetByte(3) != 127)
{ {