mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 12:32:48 +01:00
Merge pull request #4246 from kittywhiskers/deboostification
merge bitcoin#13671, #17405, #18786, #18792, #20067: Deboostification
This commit is contained in:
commit
730a89f8ed
@ -16,7 +16,6 @@
|
|||||||
#include <version.h>
|
#include <version.h>
|
||||||
|
|
||||||
#include <boost/algorithm/string/classification.hpp>
|
#include <boost/algorithm/string/classification.hpp>
|
||||||
#include <boost/algorithm/string/replace.hpp>
|
|
||||||
#include <boost/algorithm/string/split.hpp>
|
#include <boost/algorithm/string/split.hpp>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@ -41,8 +40,9 @@ CScript ParseScript(const std::string& s)
|
|||||||
std::string strName(name);
|
std::string strName(name);
|
||||||
mapOpNames[strName] = static_cast<opcodetype>(op);
|
mapOpNames[strName] = static_cast<opcodetype>(op);
|
||||||
// Convenience: OP_ADD and just ADD are both recognized:
|
// Convenience: OP_ADD and just ADD are both recognized:
|
||||||
boost::algorithm::replace_first(strName, "OP_", "");
|
if (strName.compare(0, 3, "OP_") == 0) { // strName starts with "OP_"
|
||||||
mapOpNames[strName] = static_cast<opcodetype>(op);
|
mapOpNames[strName.substr(3)] = static_cast<opcodetype>(op);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,6 +852,10 @@ static void ThreadImport(std::vector<fs::path> vImportFiles)
|
|||||||
break; // This error is logged in OpenBlockFile
|
break; // This error is logged in OpenBlockFile
|
||||||
LogPrintf("Reindexing block file blk%05u.dat...\n", (unsigned int)nFile);
|
LogPrintf("Reindexing block file blk%05u.dat...\n", (unsigned int)nFile);
|
||||||
LoadExternalBlockFile(chainparams, file, &pos);
|
LoadExternalBlockFile(chainparams, file, &pos);
|
||||||
|
if (ShutdownRequested()) {
|
||||||
|
LogPrintf("Shutdown requested. Exit %s\n", __func__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
nFile++;
|
nFile++;
|
||||||
}
|
}
|
||||||
pblocktree->WriteReindexing(false);
|
pblocktree->WriteReindexing(false);
|
||||||
@ -881,6 +885,10 @@ static void ThreadImport(std::vector<fs::path> vImportFiles)
|
|||||||
if (file) {
|
if (file) {
|
||||||
LogPrintf("Importing blocks file %s...\n", path.string());
|
LogPrintf("Importing blocks file %s...\n", path.string());
|
||||||
LoadExternalBlockFile(chainparams, file);
|
LoadExternalBlockFile(chainparams, file);
|
||||||
|
if (ShutdownRequested()) {
|
||||||
|
LogPrintf("Shutdown requested. Exit %s\n", __func__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
LogPrintf("Warning: Could not open blocks file %s\n", path.string());
|
LogPrintf("Warning: Could not open blocks file %s\n", path.string());
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/algorithm/string/case_conv.hpp> // for to_lower()
|
|
||||||
#ifdef USE_POLL
|
#ifdef USE_POLL
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
#endif
|
#endif
|
||||||
@ -44,7 +43,7 @@ static const int SOCKS5_RECV_TIMEOUT = 20 * 1000;
|
|||||||
static std::atomic<bool> interruptSocks5Recv(false);
|
static std::atomic<bool> interruptSocks5Recv(false);
|
||||||
|
|
||||||
enum Network ParseNetwork(std::string net) {
|
enum Network ParseNetwork(std::string net) {
|
||||||
boost::to_lower(net);
|
Downcase(net);
|
||||||
if (net == "ipv4") return NET_IPV4;
|
if (net == "ipv4") return NET_IPV4;
|
||||||
if (net == "ipv6") return NET_IPV6;
|
if (net == "ipv6") return NET_IPV6;
|
||||||
if (net == "onion") return NET_ONION;
|
if (net == "onion") return NET_ONION;
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
#include <boost/signals2/signal.hpp>
|
#include <boost/signals2/signal.hpp>
|
||||||
#include <boost/algorithm/string/case_conv.hpp> // for to_upper()
|
|
||||||
#include <boost/algorithm/string/classification.hpp>
|
#include <boost/algorithm/string/classification.hpp>
|
||||||
#include <boost/algorithm/string/split.hpp>
|
#include <boost/algorithm/string/split.hpp>
|
||||||
|
|
||||||
@ -248,9 +247,7 @@ std::string CRPCTable::help(const std::string& strCommand, const std::string& st
|
|||||||
if (!category.empty())
|
if (!category.empty())
|
||||||
strRet += "\n";
|
strRet += "\n";
|
||||||
category = pcmd->category;
|
category = pcmd->category;
|
||||||
std::string firstLetter = category.substr(0,1);
|
strRet += "== " + Capitalize(category) + " ==\n";
|
||||||
boost::to_upper(firstLetter);
|
|
||||||
strRet += "== " + firstLetter + category.substr(1) + " ==\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strRet += strHelp + "\n";
|
strRet += strHelp + "\n";
|
||||||
|
@ -431,4 +431,22 @@ BOOST_AUTO_TEST_CASE(caddress_unserialize_v2)
|
|||||||
BOOST_CHECK(fixture_addresses == addresses_unserialized);
|
BOOST_CHECK(fixture_addresses == addresses_unserialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(netbase_parsenetwork)
|
||||||
|
{
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("ipv4"), NET_IPV4);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("ipv6"), NET_IPV6);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("onion"), NET_ONION);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("tor"), NET_ONION);
|
||||||
|
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("IPv4"), NET_IPV4);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("IPv6"), NET_IPV6);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("ONION"), NET_ONION);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("TOR"), NET_ONION);
|
||||||
|
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork(":)"), NET_UNROUTABLE);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("tÖr"), NET_UNROUTABLE);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork("\xfe\xff"), NET_UNROUTABLE);
|
||||||
|
BOOST_CHECK_EQUAL(ParseNetwork(""), NET_UNROUTABLE);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
@ -1289,4 +1289,43 @@ BOOST_AUTO_TEST_CASE(test_tracked_vector)
|
|||||||
BOOST_CHECK_EQUAL(v8[2].copies, 0);
|
BOOST_CHECK_EQUAL(v8[2].copies, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(test_ToLower)
|
||||||
|
{
|
||||||
|
BOOST_CHECK_EQUAL(ToLower('@'), '@');
|
||||||
|
BOOST_CHECK_EQUAL(ToLower('A'), 'a');
|
||||||
|
BOOST_CHECK_EQUAL(ToLower('Z'), 'z');
|
||||||
|
BOOST_CHECK_EQUAL(ToLower('['), '[');
|
||||||
|
BOOST_CHECK_EQUAL(ToLower(0), 0);
|
||||||
|
BOOST_CHECK_EQUAL(ToLower(255), 255);
|
||||||
|
|
||||||
|
std::string testVector;
|
||||||
|
Downcase(testVector);
|
||||||
|
BOOST_CHECK_EQUAL(testVector, "");
|
||||||
|
|
||||||
|
testVector = "#HODL";
|
||||||
|
Downcase(testVector);
|
||||||
|
BOOST_CHECK_EQUAL(testVector, "#hodl");
|
||||||
|
|
||||||
|
testVector = "\x00\xfe\xff";
|
||||||
|
Downcase(testVector);
|
||||||
|
BOOST_CHECK_EQUAL(testVector, "\x00\xfe\xff");
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(test_ToUpper)
|
||||||
|
{
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper('`'), '`');
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper('a'), 'A');
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper('z'), 'Z');
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper('{'), '{');
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper(0), 0);
|
||||||
|
BOOST_CHECK_EQUAL(ToUpper(255), 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(test_Capitalize)
|
||||||
|
{
|
||||||
|
BOOST_CHECK_EQUAL(Capitalize(""), "");
|
||||||
|
BOOST_CHECK_EQUAL(Capitalize("bitcoin"), "Bitcoin");
|
||||||
|
BOOST_CHECK_EQUAL(Capitalize("\x00\xfe\xff"), "\x00\xfe\xff");
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include <tinyformat.h>
|
#include <tinyformat.h>
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -615,3 +616,15 @@ std::string HexStr(const Span<const uint8_t> s)
|
|||||||
}
|
}
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Downcase(std::string& str)
|
||||||
|
{
|
||||||
|
std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c){return ToLower(c);});
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Capitalize(std::string str)
|
||||||
|
{
|
||||||
|
if (str.empty()) return str;
|
||||||
|
str[0] = ToUpper(str.front());
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
@ -188,6 +188,50 @@ bool ConvertBits(const O& outfn, I it, I end) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the given character to its lowercase equivalent.
|
||||||
|
* This function is locale independent. It only converts uppercase
|
||||||
|
* characters in the standard 7-bit ASCII range.
|
||||||
|
* @param[in] c the character to convert to lowercase.
|
||||||
|
* @return the lowercase equivalent of c; or the argument
|
||||||
|
* if no conversion is possible.
|
||||||
|
*/
|
||||||
|
constexpr unsigned char ToLower(unsigned char c)
|
||||||
|
{
|
||||||
|
return (c >= 'A' && c <= 'Z' ? (c - 'A') + 'a' : c);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the given string to its lowercase equivalent.
|
||||||
|
* This function is locale independent. It only converts uppercase
|
||||||
|
* characters in the standard 7-bit ASCII range.
|
||||||
|
* @param[in,out] str the string to convert to lowercase.
|
||||||
|
*/
|
||||||
|
void Downcase(std::string& str);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the given character to its uppercase equivalent.
|
||||||
|
* This function is locale independent. It only converts lowercase
|
||||||
|
* characters in the standard 7-bit ASCII range.
|
||||||
|
* @param[in] c the character to convert to uppercase.
|
||||||
|
* @return the uppercase equivalent of c; or the argument
|
||||||
|
* if no conversion is possible.
|
||||||
|
*/
|
||||||
|
constexpr unsigned char ToUpper(unsigned char c)
|
||||||
|
{
|
||||||
|
return (c >= 'a' && c <= 'z' ? (c - 'a') + 'A' : c);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Capitalizes the first character of the given string.
|
||||||
|
* This function is locale independent. It only capitalizes the
|
||||||
|
* first character of the argument if it has an uppercase equivalent
|
||||||
|
* in the standard 7-bit ASCII range.
|
||||||
|
* @param[in] str the string to capitalize.
|
||||||
|
* @return string with the first letter capitalized.
|
||||||
|
*/
|
||||||
|
std::string Capitalize(std::string str);
|
||||||
|
|
||||||
/** Parse an HD keypaths like "m/7/0'/2000". */
|
/** Parse an HD keypaths like "m/7/0'/2000". */
|
||||||
bool ParseHDKeypath(const std::string& keypath_str, std::vector<uint32_t>& keypath);
|
bool ParseHDKeypath(const std::string& keypath_str, std::vector<uint32_t>& keypath);
|
||||||
|
|
||||||
|
@ -4836,7 +4836,7 @@ bool LoadGenesisBlock(const CChainParams& chainparams)
|
|||||||
return g_chainstate.LoadGenesisBlock(chainparams);
|
return g_chainstate.LoadGenesisBlock(chainparams);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskBlockPos *dbp)
|
void LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskBlockPos* dbp)
|
||||||
{
|
{
|
||||||
// Map of disk positions for blocks with unknown parent (only used for reindex)
|
// Map of disk positions for blocks with unknown parent (only used for reindex)
|
||||||
static std::multimap<uint256, CDiskBlockPos> mapBlocksUnknownParent;
|
static std::multimap<uint256, CDiskBlockPos> mapBlocksUnknownParent;
|
||||||
@ -4849,7 +4849,7 @@ bool LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskB
|
|||||||
CBufferedFile blkdat(fileIn, 2*nMaxBlockSize, nMaxBlockSize+8, SER_DISK, CLIENT_VERSION);
|
CBufferedFile blkdat(fileIn, 2*nMaxBlockSize, nMaxBlockSize+8, SER_DISK, CLIENT_VERSION);
|
||||||
uint64_t nRewind = blkdat.GetPos();
|
uint64_t nRewind = blkdat.GetPos();
|
||||||
while (!blkdat.eof()) {
|
while (!blkdat.eof()) {
|
||||||
boost::this_thread::interruption_point();
|
if (ShutdownRequested()) return;
|
||||||
|
|
||||||
blkdat.SetPos(nRewind);
|
blkdat.SetPos(nRewind);
|
||||||
nRewind++; // start one byte further next time, in case of failure
|
nRewind++; // start one byte further next time, in case of failure
|
||||||
@ -4953,9 +4953,7 @@ bool LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskB
|
|||||||
} catch (const std::runtime_error& e) {
|
} catch (const std::runtime_error& e) {
|
||||||
AbortNode(std::string("System error: ") + e.what());
|
AbortNode(std::string("System error: ") + e.what());
|
||||||
}
|
}
|
||||||
if (nLoaded > 0)
|
|
||||||
LogPrintf("Loaded %i blocks from external file in %dms\n", nLoaded, GetTimeMillis() - nStart);
|
LogPrintf("Loaded %i blocks from external file in %dms\n", nLoaded, GetTimeMillis() - nStart);
|
||||||
return nLoaded > 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CChainState::CheckBlockIndex(const Consensus::Params& consensusParams)
|
void CChainState::CheckBlockIndex(const Consensus::Params& consensusParams)
|
||||||
|
@ -267,7 +267,7 @@ FILE* OpenBlockFile(const CDiskBlockPos &pos, bool fReadOnly = false);
|
|||||||
/** Translation to a filesystem path */
|
/** Translation to a filesystem path */
|
||||||
fs::path GetBlockPosFilename(const CDiskBlockPos &pos, const char *prefix);
|
fs::path GetBlockPosFilename(const CDiskBlockPos &pos, const char *prefix);
|
||||||
/** Import blocks from an external file */
|
/** Import blocks from an external file */
|
||||||
bool LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskBlockPos *dbp = nullptr);
|
void LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskBlockPos* dbp = nullptr);
|
||||||
/** Ensures we have a genesis block in the block tree, possibly writing one to disk. */
|
/** Ensures we have a genesis block in the block tree, possibly writing one to disk. */
|
||||||
bool LoadGenesisBlock(const CChainParams& chainparams);
|
bool LoadGenesisBlock(const CChainParams& chainparams);
|
||||||
/** Load the block tree and coins database from disk,
|
/** Load the block tree and coins database from disk,
|
||||||
|
@ -17,8 +17,6 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/thread.hpp>
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
//! Make sure database has a unique fileid within the environment. If it
|
//! Make sure database has a unique fileid within the environment. If it
|
||||||
@ -153,10 +151,9 @@ BerkeleyEnvironment::~BerkeleyEnvironment()
|
|||||||
|
|
||||||
bool BerkeleyEnvironment::Open(bool retry)
|
bool BerkeleyEnvironment::Open(bool retry)
|
||||||
{
|
{
|
||||||
if (fDbEnvInit)
|
if (fDbEnvInit) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
boost::this_thread::interruption_point();
|
|
||||||
|
|
||||||
fs::path pathIn = strPath;
|
fs::path pathIn = strPath;
|
||||||
TryCreateDirectories(pathIn);
|
TryCreateDirectories(pathIn);
|
||||||
@ -225,13 +222,11 @@ bool BerkeleyEnvironment::Open(bool retry)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Construct an in-memory mock Berkeley environment for testing and as a place-holder for g_dbenvs emplace
|
//! Construct an in-memory mock Berkeley environment for testing
|
||||||
BerkeleyEnvironment::BerkeleyEnvironment()
|
BerkeleyEnvironment::BerkeleyEnvironment()
|
||||||
{
|
{
|
||||||
Reset();
|
Reset();
|
||||||
|
|
||||||
boost::this_thread::interruption_point();
|
|
||||||
|
|
||||||
LogPrint(BCLog::DB, "BerkeleyEnvironment::MakeMock\n");
|
LogPrint(BCLog::DB, "BerkeleyEnvironment::MakeMock\n");
|
||||||
|
|
||||||
dbenv->set_cachesize(1, 0, 1);
|
dbenv->set_cachesize(1, 0, 1);
|
||||||
@ -250,8 +245,9 @@ BerkeleyEnvironment::BerkeleyEnvironment()
|
|||||||
DB_THREAD |
|
DB_THREAD |
|
||||||
DB_PRIVATE,
|
DB_PRIVATE,
|
||||||
S_IRUSR | S_IWUSR);
|
S_IRUSR | S_IWUSR);
|
||||||
if (ret > 0)
|
if (ret > 0) {
|
||||||
throw std::runtime_error(strprintf("BerkeleyEnvironment::MakeMock: Error %d opening database environment.", ret));
|
throw std::runtime_error(strprintf("BerkeleyEnvironment::MakeMock: Error %d opening database environment.", ret));
|
||||||
|
}
|
||||||
|
|
||||||
fDbEnvInit = true;
|
fDbEnvInit = true;
|
||||||
fMockDb = true;
|
fMockDb = true;
|
||||||
@ -772,7 +768,6 @@ bool BerkeleyBatch::PeriodicFlush(BerkeleyDatabase& database)
|
|||||||
|
|
||||||
if (nRefCount == 0)
|
if (nRefCount == 0)
|
||||||
{
|
{
|
||||||
boost::this_thread::interruption_point();
|
|
||||||
std::map<std::string, int>::iterator mi = env->mapFileUseCount.find(strFile);
|
std::map<std::string, int>::iterator mi = env->mapFileUseCount.find(strFile);
|
||||||
if (mi != env->mapFileUseCount.end())
|
if (mi != env->mapFileUseCount.end())
|
||||||
{
|
{
|
||||||
|
@ -21,8 +21,6 @@
|
|||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
|
|
||||||
#include <boost/thread.hpp>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// WalletBatch
|
// WalletBatch
|
||||||
//
|
//
|
||||||
@ -666,11 +664,7 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
|
|||||||
// Store initial external keypool size since we mostly use external keys in mixing
|
// Store initial external keypool size since we mostly use external keys in mixing
|
||||||
pwallet->nKeysLeftSinceAutoBackup = pwallet->KeypoolCountExternalKeys();
|
pwallet->nKeysLeftSinceAutoBackup = pwallet->KeypoolCountExternalKeys();
|
||||||
pwallet->WalletLogPrintf("nKeysLeftSinceAutoBackup: %d\n", pwallet->nKeysLeftSinceAutoBackup);
|
pwallet->WalletLogPrintf("nKeysLeftSinceAutoBackup: %d\n", pwallet->nKeysLeftSinceAutoBackup);
|
||||||
}
|
} catch (...) {
|
||||||
catch (const boost::thread_interrupted&) {
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
catch (...) {
|
|
||||||
result = DBErrors::CORRUPT;
|
result = DBErrors::CORRUPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -762,11 +756,7 @@ DBErrors WalletBatch::FindWalletTx(std::vector<uint256>& vTxHash, std::vector<CW
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pcursor->close();
|
pcursor->close();
|
||||||
}
|
} catch (...) {
|
||||||
catch (const boost::thread_interrupted&) {
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
catch (...) {
|
|
||||||
result = DBErrors::CORRUPT;
|
result = DBErrors::CORRUPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,6 @@ fi
|
|||||||
|
|
||||||
EXPECTED_BOOST_INCLUDES=(
|
EXPECTED_BOOST_INCLUDES=(
|
||||||
boost/algorithm/string.hpp
|
boost/algorithm/string.hpp
|
||||||
boost/algorithm/string/case_conv.hpp
|
|
||||||
boost/algorithm/string/classification.hpp
|
boost/algorithm/string/classification.hpp
|
||||||
boost/algorithm/string/replace.hpp
|
boost/algorithm/string/replace.hpp
|
||||||
boost/algorithm/string/split.hpp
|
boost/algorithm/string/split.hpp
|
||||||
|
@ -15,11 +15,9 @@ KNOWN_VIOLATIONS=(
|
|||||||
"src/governance/governance-validators.cpp.*tolower"
|
"src/governance/governance-validators.cpp.*tolower"
|
||||||
"src/httprpc.cpp.*trim"
|
"src/httprpc.cpp.*trim"
|
||||||
"src/init.cpp:.*atoi"
|
"src/init.cpp:.*atoi"
|
||||||
"src/netbase.cpp.*to_lower"
|
|
||||||
"src/qt/rpcconsole.cpp:.*atoi"
|
"src/qt/rpcconsole.cpp:.*atoi"
|
||||||
"src/qt/rpcconsole.cpp:.*isdigit"
|
"src/qt/rpcconsole.cpp:.*isdigit"
|
||||||
"src/rest.cpp:.*strtol"
|
"src/rest.cpp:.*strtol"
|
||||||
"src/rpc/server.cpp.*to_upper"
|
|
||||||
"src/rpc/blockchain.cpp.*atoi"
|
"src/rpc/blockchain.cpp.*atoi"
|
||||||
"src/rpc/governance.cpp.*atoi"
|
"src/rpc/governance.cpp.*atoi"
|
||||||
"src/rpc/masternode.cpp.*atoi"
|
"src/rpc/masternode.cpp.*atoi"
|
||||||
|
Loading…
Reference in New Issue
Block a user