From caca6aa4eb54b71b5e4e9ccfa69341f985b178d9 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Mon, 14 Oct 2013 02:13:44 +0200 Subject: [PATCH] Make some globals in main non-public. This means they are declared static, and their extern definition in main.h is removed. Also moved CBlockIndexWorkComparator to the .cpp file. --- src/main.cpp | 27 +++++++++++++++++++++------ src/main.h | 20 -------------------- 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 6a679fcad9..f7f5ff1269 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -33,8 +33,6 @@ unsigned int nTransactionsUpdated = 0; map mapBlockIndex; CChain chainActive; -CBlockIndex *pindexBestInvalid; -set setBlockIndexValid; // may contain all CBlockIndex*'s that have validness >=BLOCK_VALID_TRANSACTIONS, and must contain those who aren't failed int64 nTimeBestReceived = 0; int nScriptCheckThreads = 0; bool fImporting = false; @@ -65,7 +63,28 @@ const string strMessageMagic = "Bitcoin Signed Message:\n"; // Settings int64 nTransactionFee = 0; +// Internal stuff +namespace { +struct CBlockIndexWorkComparator +{ + bool operator()(CBlockIndex *pa, CBlockIndex *pb) { + if (pa->nChainWork > pb->nChainWork) return false; + if (pa->nChainWork < pb->nChainWork) return true; + if (pa->GetBlockHash() < pb->GetBlockHash()) return false; + if (pa->GetBlockHash() > pb->GetBlockHash()) return true; + + return false; // identical blocks + } +}; + +CBlockIndex *pindexBestInvalid; +set setBlockIndexValid; // may contain all CBlockIndex*'s that have validness >=BLOCK_VALID_TRANSACTIONS, and must contain those who aren't failed + +CCriticalSection cs_LastBlockFile; +CBlockFileInfo infoLastBlockFile; +int nLastBlockFile = 0; +} ////////////////////////////////////////////////////////////////////////////// // @@ -2694,10 +2713,6 @@ bool CheckDiskSpace(uint64 nAdditionalBytes) return true; } -CCriticalSection cs_LastBlockFile; -CBlockFileInfo infoLastBlockFile; -int nLastBlockFile = 0; - FILE* OpenDiskFile(const CDiskBlockPos &pos, const char *prefix, bool fReadOnly) { if (pos.IsNull()) diff --git a/src/main.h b/src/main.h index 77e4792691..d568d8e6b8 100644 --- a/src/main.h +++ b/src/main.h @@ -26,8 +26,6 @@ class CAddress; class CInv; class CNode; -struct CBlockIndexWorkComparator; - /** The maximum allowed size for a serialized block, in bytes (network rule) */ static const unsigned int MAX_BLOCK_SIZE = 1000000; /** The maximum size for mined blocks */ @@ -73,7 +71,6 @@ extern CScript COINBASE_FLAGS; extern CCriticalSection cs_main; extern std::map mapBlockIndex; -extern std::set setBlockIndexValid; extern unsigned int nTransactionsUpdated; extern uint64 nLastBlockTx; extern uint64 nLastBlockSize; @@ -646,10 +643,6 @@ public: } }; -extern CCriticalSection cs_LastBlockFile; -extern CBlockFileInfo infoLastBlockFile; -extern int nLastBlockFile; - enum BlockStatus { BLOCK_VALID_UNKNOWN = 0, BLOCK_VALID_HEADER = 1, // parsed, version ok, hash satisfies claimed PoW, 1 <= vtx count <= max, timestamp not in future @@ -849,19 +842,6 @@ public: } }; -struct CBlockIndexWorkComparator -{ - bool operator()(CBlockIndex *pa, CBlockIndex *pb) { - if (pa->nChainWork > pb->nChainWork) return false; - if (pa->nChainWork < pb->nChainWork) return true; - - if (pa->GetBlockHash() < pb->GetBlockHash()) return false; - if (pa->GetBlockHash() > pb->GetBlockHash()) return true; - - return false; // identical blocks - } -}; - /** Used to marshal pointers into hashes for db storage. */