From 83d8a347ee157abf0450b2913bb3ff905fde54a3 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 31 May 2012 13:35:27 -0700 Subject: [PATCH] Make SHAMapNode::ClassInit self-invoking. --- src/Application.cpp | 1 - src/SHAMap.cpp | 1 - src/SHAMap.h | 2 +- src/SHAMapNodes.cpp | 5 ++++- src/SHAMapSync.cpp | 1 - 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Application.cpp b/src/Application.cpp index 5f7710f563..571c131984 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -52,7 +52,6 @@ void Application::stop() void Application::run() { assert(mTxnDB==NULL); - SHAMapNode::ClassInit(); // // Construct databases. diff --git a/src/SHAMap.cpp b/src/SHAMap.cpp index 372bd3f0fe..509deebebd 100644 --- a/src/SHAMap.cpp +++ b/src/SHAMap.cpp @@ -670,7 +670,6 @@ BOOST_AUTO_TEST_SUITE(shamap) BOOST_AUTO_TEST_CASE( SHAMap_test ) { // h3 and h4 differ only in the leaf, same terminal node (level 19) - SHAMapNode::ClassInit(); uint256 h1, h2, h3, h4, h5; h1.SetHex("092891fe4ef6cee585fdc6fda0e09eb4d386363158ec3321b8123e5a772c6ca7"); h2.SetHex("436ccbac3347baa1f1e53baeef1f43334da88f1f6d70d963b833afd6dfa289fe"); diff --git a/src/SHAMap.h b/src/SHAMap.h index 18677c7be7..0a440c3136 100644 --- a/src/SHAMap.h +++ b/src/SHAMap.h @@ -66,7 +66,7 @@ public: virtual std::string getString() const; void dump() const; - static void ClassInit(); + static bool ClassInit(); static uint256 getNodeID(int depth, const uint256& hash); // Convert to/from wire format (256-bit nodeID, 1-byte depth) diff --git a/src/SHAMapNodes.cpp b/src/SHAMapNodes.cpp index 85dbe222f5..846e44509b 100644 --- a/src/SHAMapNodes.cpp +++ b/src/SHAMapNodes.cpp @@ -69,7 +69,9 @@ bool SHAMapNode::operator!=(const uint256 &s) const return s!=mNodeID; } -void SHAMapNode::ClassInit() +static bool j = SHAMapNode::ClassInit(); + +bool SHAMapNode::ClassInit() { // set up the depth masks uint256 selector; for(int i = 0; i < 64; i += 2) @@ -80,6 +82,7 @@ void SHAMapNode::ClassInit() *(selector.begin() + (i / 2)) = 0xFF; } smMasks[64] = selector; + return true; } uint256 SHAMapNode::getNodeID(int depth, const uint256& hash) diff --git a/src/SHAMapSync.cpp b/src/SHAMapSync.cpp index 4807df2897..5821550c5b 100644 --- a/src/SHAMapSync.cpp +++ b/src/SHAMapSync.cpp @@ -366,7 +366,6 @@ BOOST_AUTO_TEST_CASE( SHAMapSync_test ) unsigned int seed; RAND_pseudo_bytes(reinterpret_cast(&seed), sizeof(seed)); srand(seed); - SHAMapNode::ClassInit(); SHAMap source, destination;