changeset 593:f00556032bc4 draft

Merge pull request #223 from sipa/dnslookup bugfix in dnslookup code: didn't compile in mingw
author Pieter Wuille <pieter.wuille@gmail.com>
date Sat, 14 May 2011 09:48:42 -0700 (2011-05-14)
parents d0dcb95f5d36 (current diff) 42d423fe3589 (diff)
children 5a09de831d51
files
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -130,6 +130,8 @@
 bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMaxSolutions, bool fAllowLookup, int portDefault, bool fAllowPort)
 {
     vaddr.clear();
+    if (pszName[0] == 0)
+        return false;
     int port = portDefault;
     char psz[256];
     char *pszHost = psz;
@@ -155,11 +157,11 @@
         }
     }
 
-    struct in_addr addrIP;
-    if (inet_aton(pszHost, &addrIP))
+    unsigned int addrIP = inet_addr(pszHost);
+    if (addrIP != INADDR_NONE)
     {
         // valid IP address passed
-        vaddr.push_back(CAddress(addrIP.s_addr, port, nServices));
+        vaddr.push_back(CAddress(addrIP, port, nServices));
         return true;
     }
 
@@ -1524,7 +1526,7 @@
     if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR)
     {
         vector<CAddress> vaddr;
-        if (NameLookup(pszHostName, vaddr, nLocalServices))
+        if (Lookup(pszHostName, vaddr, nLocalServices, -1, true))
             foreach (const CAddress &addr, vaddr)
                 if (addr.GetByte(3) != 127)
                 {