update to bitcoin-git
authorWladimir J. van der Laan <laanwj@gmail.com>
Sun, 15 May 2011 14:50:28 +0000 (16:50 +0200)
committerWladimir J. van der Laan <laanwj@gmail.com>
Sun, 15 May 2011 14:50:28 +0000 (16:50 +0200)
TODO
core/include/base58.h
core/include/net.h
core/include/util.h
core/src/net.cpp

diff --git a/TODO b/TODO
index d1713eb..dceee9b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -66,17 +66,20 @@ AboutDialog
 
 Done:
 
-Compatibility with Qt, and some more modularity
+To be able to make an external GUI, I am working on modularizing bitcoin into a library. This is basic code
+plumbing, 100% no functional changes.
 
 - Put guard statements around header files.
 
-- Removed macro foreach: conflicts with Qt keyword foreach, replaced back with BOOST_FOREACH
+- Removed macro foreach: conflicts with Qt4 keyword `foreach`, replaced with BOOST_FOREACH.
 
 - Prefix stdlib structures and functions with std:: in headers; "using namespace" in header files is
-   generally frowned upon
+   generally frowned upon. These are moved to the implementation files.
+
+- Modularity: base48.h and most other header files can now be included without the other shebang
+   (useful for linking external GUI to bitcoin core, part of GUI separation).
+  The include files that need each other now include each other.
 
-- Modularity: base48.h can now be included without including all the headers
-   (useful for linking external GUI to bitcoin core, part of GUI separation)
 
 Todo:
 
index 7acdf63..580bd3f 100644 (file)
@@ -7,7 +7,7 @@
 // Why base-58 instead of standard base-64 encoding?
 // - Don't want 0OIl characters that look the same in some fonts and
 //      could be used to create visually identical looking account numbers.
-// - A std::string with non-alphanumeric characters is not as easily accepted as an account number.
+// - A string with non-alphanumeric characters is not as easily accepted as an account number.
 // - E-mail usually won't line-break if there's no punctuation to break at.
 // - Doubleclicking selects the whole number as one word if it's all alphanumeric.
 //
@@ -74,7 +74,7 @@ inline bool DecodeBase58(const char* psz, std::vector<unsigned char>& vchRet)
     while (isspace(*psz))
         psz++;
 
-    // Convert big endian std::string to bignum
+    // Convert big endian string to bignum
     for (const char* p = psz; *p; p++)
     {
         const char* p1 = strchr(pszBase58, *p);
index 746dd02..6bbcd64 100644 (file)
@@ -6,9 +6,12 @@
 
 #include <deque>
 #include <boost/array.hpp>
-#include <arpa/inet.h>
 #include <openssl/rand.h>
 
+#ifndef __WXMSW__
+#include <arpa/inet.h>
+#endif
+
 class CMessageHeader;
 class CAddress;
 class CInv;
index 2d1d429..b1eabd5 100644 (file)
@@ -5,11 +5,12 @@
 #define BITCOIN_UTIL_H
 
 #include "uint256.h"
-//#include "cryptopp/sha.h"
 
+#ifndef __WXMSW__
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/resource.h>
+#endif
 #include <map>
 #include <vector>
 #include <string>
index 4f489fd..1320781 100644 (file)
@@ -133,6 +133,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)
 {
     vaddr.clear();
+    if (pszName[0] == 0)
+        return false;
     int port = portDefault;
     char psz[256];
     char *pszHost = psz;
@@ -158,11 +160,11 @@ bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMa
         }
     }
 
-    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;
     }
 
@@ -1527,7 +1529,7 @@ void StartNode(void* parg)
     if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR)
     {
         vector<CAddress> vaddr;
-        if (NameLookup(pszHostName, vaddr, nLocalServices))
+        if (Lookup(pszHostName, vaddr, nLocalServices, -1, true))
             BOOST_FOREACH (const CAddress &addr, vaddr)
                 if (addr.GetByte(3) != 127)
                 {