mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-21 14:34:49 +01:00
refactor: Make const refs vars where applicable
This avoids initializing variables with the copy-constructor of a non-trivially copyable type.
This commit is contained in:
parent
7f79746bf0
commit
081b0e53e3
27 changed files with 39 additions and 39 deletions
|
@ -911,7 +911,7 @@ static void GetWalletBalances(UniValue& result)
|
|||
|
||||
UniValue balances(UniValue::VOBJ);
|
||||
for (const UniValue& wallet : wallets.getValues()) {
|
||||
const std::string wallet_name = wallet.get_str();
|
||||
const std::string& wallet_name = wallet.get_str();
|
||||
const UniValue getbalances = ConnectAndCallRPC(&rh, "getbalances", /* args=*/{}, wallet_name);
|
||||
const UniValue& balance = find_value(getbalances, "result")["mine"]["trusted"];
|
||||
balances.pushKV(wallet_name, balance);
|
||||
|
|
|
@ -596,7 +596,7 @@ static void MutateTxSign(CMutableTransaction& tx, const std::string& flagStr)
|
|||
UniValue prevtxsObj = registers["prevtxs"];
|
||||
{
|
||||
for (unsigned int previdx = 0; previdx < prevtxsObj.size(); previdx++) {
|
||||
UniValue prevOut = prevtxsObj[previdx];
|
||||
const UniValue& prevOut = prevtxsObj[previdx];
|
||||
if (!prevOut.isObject())
|
||||
throw std::runtime_error("expected prevtxs internal object");
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ const std::set<BlockFilterType>& AllBlockFilterTypes()
|
|||
|
||||
static std::once_flag flag;
|
||||
std::call_once(flag, []() {
|
||||
for (auto entry : g_filter_types) {
|
||||
for (const auto& entry : g_filter_types) {
|
||||
types.insert(entry.first);
|
||||
}
|
||||
});
|
||||
|
@ -185,7 +185,7 @@ const std::string& ListBlockFilterTypes()
|
|||
std::call_once(flag, []() {
|
||||
std::stringstream ret;
|
||||
bool first = true;
|
||||
for (auto entry : g_filter_types) {
|
||||
for (const auto& entry : g_filter_types) {
|
||||
if (!first) ret << ", ";
|
||||
ret << entry.second;
|
||||
first = false;
|
||||
|
|
|
@ -296,7 +296,7 @@ bool CCoinsViewErrorCatcher::GetCoin(const COutPoint &outpoint, Coin &coin) cons
|
|||
try {
|
||||
return CCoinsViewBacked::GetCoin(outpoint, coin);
|
||||
} catch(const std::runtime_error& e) {
|
||||
for (auto f : m_err_callbacks) {
|
||||
for (const auto& f : m_err_callbacks) {
|
||||
f();
|
||||
}
|
||||
LogPrintf("Error reading from database: %s\n", e.what());
|
||||
|
|
|
@ -265,7 +265,7 @@ int ParseSighashString(const UniValue& sighash)
|
|||
{std::string("SINGLE"), int(SIGHASH_SINGLE)},
|
||||
{std::string("SINGLE|ANYONECANPAY"), int(SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)},
|
||||
};
|
||||
std::string strHashType = sighash.get_str();
|
||||
const std::string& strHashType = sighash.get_str();
|
||||
const auto& it = map_sighash_values.find(strHashType);
|
||||
if (it != map_sighash_values.end()) {
|
||||
hash_type = it->second;
|
||||
|
|
|
@ -28,7 +28,7 @@ bool ExternalSigner::Enumerate(const std::string& command, std::vector<ExternalS
|
|||
if (!result.isArray()) {
|
||||
throw std::runtime_error(strprintf("'%s' received invalid response, expected array of signers", command));
|
||||
}
|
||||
for (UniValue signer : result.getValues()) {
|
||||
for (const UniValue& signer : result.getValues()) {
|
||||
// Check for error
|
||||
const UniValue& error = find_value(signer, "error");
|
||||
if (!error.isNull()) {
|
||||
|
|
|
@ -1083,7 +1083,7 @@ bool AppInitParameterInteraction(const ArgsManager& args, bool use_syscall_sandb
|
|||
static bool LockDataDirectory(bool probeOnly)
|
||||
{
|
||||
// Make sure only a single Bitcoin process is using the data directory.
|
||||
fs::path datadir = gArgs.GetDataDirNet();
|
||||
const fs::path& datadir = gArgs.GetDataDirNet();
|
||||
if (!DirIsWritable(datadir)) {
|
||||
return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir)));
|
||||
}
|
||||
|
|
|
@ -364,7 +364,7 @@ void BCLog::Logger::LogPrintStr(const std::string& str, const std::string& loggi
|
|||
}
|
||||
|
||||
if (m_log_threadnames && m_started_new_line) {
|
||||
const auto threadname = util::ThreadGetInternalName();
|
||||
const auto& threadname = util::ThreadGetInternalName();
|
||||
str_prefixed.insert(0, "[" + (threadname.empty() ? "unknown" : threadname) + "] ");
|
||||
}
|
||||
|
||||
|
|
|
@ -387,7 +387,7 @@ bool Socks5(const std::string& strDest, uint16_t port, const ProxyCredentials* a
|
|||
return error("Error sending to proxy");
|
||||
}
|
||||
uint8_t pchRet1[2];
|
||||
if ((recvr = InterruptibleRecv(pchRet1, 2, g_socks5_recv_timeout, sock)) != IntrRecvError::OK) {
|
||||
if (InterruptibleRecv(pchRet1, 2, g_socks5_recv_timeout, sock) != IntrRecvError::OK) {
|
||||
LogPrintf("Socks5() connect to %s:%d failed: InterruptibleRecv() timeout or other failure\n", strDest, port);
|
||||
return false;
|
||||
}
|
||||
|
@ -410,7 +410,7 @@ bool Socks5(const std::string& strDest, uint16_t port, const ProxyCredentials* a
|
|||
}
|
||||
LogPrint(BCLog::PROXY, "SOCKS5 sending proxy authentication %s:%s\n", auth->username, auth->password);
|
||||
uint8_t pchRetA[2];
|
||||
if ((recvr = InterruptibleRecv(pchRetA, 2, g_socks5_recv_timeout, sock)) != IntrRecvError::OK) {
|
||||
if (InterruptibleRecv(pchRetA, 2, g_socks5_recv_timeout, sock) != IntrRecvError::OK) {
|
||||
return error("Error reading proxy authentication response");
|
||||
}
|
||||
if (pchRetA[0] != 0x01 || pchRetA[1] != 0x00) {
|
||||
|
@ -476,7 +476,7 @@ bool Socks5(const std::string& strDest, uint16_t port, const ProxyCredentials* a
|
|||
if (recvr != IntrRecvError::OK) {
|
||||
return error("Error reading from proxy");
|
||||
}
|
||||
if ((recvr = InterruptibleRecv(pchRet3, 2, g_socks5_recv_timeout, sock)) != IntrRecvError::OK) {
|
||||
if (InterruptibleRecv(pchRet3, 2, g_socks5_recv_timeout, sock) != IntrRecvError::OK) {
|
||||
return error("Error reading from proxy");
|
||||
}
|
||||
LogPrint(BCLog::NET, "SOCKS5 connected %s\n", strDest);
|
||||
|
|
|
@ -414,7 +414,7 @@ void CleanupBlockRevFiles()
|
|||
// Remove the rev files immediately and insert the blk file paths into an
|
||||
// ordered map keyed by block file index.
|
||||
LogPrintf("Removing unusable blk?????.dat and rev?????.dat files for -reindex with -prune\n");
|
||||
fs::path blocksdir = gArgs.GetBlocksDirPath();
|
||||
const fs::path& blocksdir = gArgs.GetBlocksDirPath();
|
||||
for (fs::directory_iterator it(blocksdir); it != fs::directory_iterator(); it++) {
|
||||
const std::string path = fs::PathToString(it->path().filename());
|
||||
if (fs::is_regular_file(*it) &&
|
||||
|
|
|
@ -44,7 +44,7 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
|
|||
QString titleText = PACKAGE_NAME;
|
||||
QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
|
||||
QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
|
||||
QString titleAddText = networkStyle->getTitleAddText();
|
||||
const QString& titleAddText = networkStyle->getTitleAddText();
|
||||
|
||||
QString font = QApplication::font().toString();
|
||||
|
||||
|
|
|
@ -686,7 +686,7 @@ static RPCHelpMan getblocktemplate()
|
|||
if (lpval.isStr())
|
||||
{
|
||||
// Format: <hashBestChain><nTransactionsUpdatedLast>
|
||||
std::string lpstr = lpval.get_str();
|
||||
const std::string& lpstr = lpval.get_str();
|
||||
|
||||
hashWatchedChain = ParseHashV(lpstr.substr(0, 64), "longpollid");
|
||||
nTransactionsUpdatedLastLP = LocaleIndependentAtoi<int64_t>(lpstr.substr(64));
|
||||
|
|
|
@ -159,14 +159,14 @@ static void TxInErrorToJSON(const CTxIn& txin, UniValue& vErrorsRet, const std::
|
|||
void ParsePrevouts(const UniValue& prevTxsUnival, FillableSigningProvider* keystore, std::map<COutPoint, Coin>& coins)
|
||||
{
|
||||
if (!prevTxsUnival.isNull()) {
|
||||
UniValue prevTxs = prevTxsUnival.get_array();
|
||||
const UniValue& prevTxs = prevTxsUnival.get_array();
|
||||
for (unsigned int idx = 0; idx < prevTxs.size(); ++idx) {
|
||||
const UniValue& p = prevTxs[idx];
|
||||
if (!p.isObject()) {
|
||||
throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "expected object with {\"txid'\",\"vout\",\"scriptPubKey\"}");
|
||||
}
|
||||
|
||||
UniValue prevOut = p.get_obj();
|
||||
const UniValue& prevOut = p.get_obj();
|
||||
|
||||
RPCTypeCheckObj(prevOut,
|
||||
{
|
||||
|
|
|
@ -98,7 +98,7 @@ CAmount AmountFromValue(const UniValue& value, int decimals)
|
|||
|
||||
uint256 ParseHashV(const UniValue& v, std::string strName)
|
||||
{
|
||||
std::string strHex(v.get_str());
|
||||
const std::string& strHex(v.get_str());
|
||||
if (64 != strHex.length())
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("%s must be of length %d (not %d, for '%s')", strName, 64, strHex.length(), strHex));
|
||||
if (!IsHex(strHex)) // Note: IsHex("") is false
|
||||
|
|
|
@ -25,7 +25,7 @@ BOOST_AUTO_TEST_CASE(base58_EncodeBase58)
|
|||
{
|
||||
UniValue tests = read_json(std::string(json_tests::base58_encode_decode, json_tests::base58_encode_decode + sizeof(json_tests::base58_encode_decode)));
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 2) // Allow for extra stuff (useful for comments)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
|
|||
std::vector<unsigned char> result;
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 2) // Allow for extra stuff (useful for comments)
|
||||
{
|
||||
|
|
|
@ -137,7 +137,7 @@ BOOST_AUTO_TEST_CASE(blockfilters_json_test)
|
|||
|
||||
const UniValue& tests = json.get_array();
|
||||
for (unsigned int i = 0; i < tests.size(); i++) {
|
||||
UniValue test = tests[i];
|
||||
const UniValue& test = tests[i];
|
||||
std::string strTest = test.write();
|
||||
|
||||
if (test.size() == 1) {
|
||||
|
|
|
@ -28,7 +28,7 @@ BOOST_AUTO_TEST_CASE(key_io_valid_parse)
|
|||
SelectParams(CBaseChainParams::MAIN);
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 3) { // Allow for extra stuff (useful for comments)
|
||||
BOOST_ERROR("Bad test: " << strTest);
|
||||
|
@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE(key_io_valid_gen)
|
|||
UniValue tests = read_json(std::string(json_tests::key_io_valid, json_tests::key_io_valid + sizeof(json_tests::key_io_valid)));
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 3) // Allow for extra stuff (useful for comments)
|
||||
{
|
||||
|
@ -126,7 +126,7 @@ BOOST_AUTO_TEST_CASE(key_io_invalid)
|
|||
CTxDestination destination;
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 1) // Allow for extra stuff (useful for comments)
|
||||
{
|
||||
|
|
|
@ -942,7 +942,7 @@ BOOST_AUTO_TEST_CASE(script_json_test)
|
|||
UniValue tests = read_json(std::string(json_tests::script_tests, json_tests::script_tests + sizeof(json_tests::script_tests)));
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
CScriptWitness witness;
|
||||
CAmount nValue = 0;
|
||||
|
|
|
@ -165,7 +165,7 @@ BOOST_AUTO_TEST_CASE(sighash_from_data)
|
|||
UniValue tests = read_json(std::string(json_tests::sighash, json_tests::sighash + sizeof(json_tests::sighash)));
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test.size() < 1) // Allow for extra stuff (useful for comments)
|
||||
{
|
||||
|
|
|
@ -191,7 +191,7 @@ BOOST_AUTO_TEST_CASE(tx_valid)
|
|||
UniValue tests = read_json(std::string(json_tests::tx_valid, json_tests::tx_valid + sizeof(json_tests::tx_valid)));
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test[0].isArray())
|
||||
{
|
||||
|
@ -211,7 +211,7 @@ BOOST_AUTO_TEST_CASE(tx_valid)
|
|||
fValid = false;
|
||||
break;
|
||||
}
|
||||
UniValue vinput = input.get_array();
|
||||
const UniValue& vinput = input.get_array();
|
||||
if (vinput.size() < 3 || vinput.size() > 4)
|
||||
{
|
||||
fValid = false;
|
||||
|
@ -279,7 +279,7 @@ BOOST_AUTO_TEST_CASE(tx_invalid)
|
|||
UniValue tests = read_json(std::string(json_tests::tx_invalid, json_tests::tx_invalid + sizeof(json_tests::tx_invalid)));
|
||||
|
||||
for (unsigned int idx = 0; idx < tests.size(); idx++) {
|
||||
UniValue test = tests[idx];
|
||||
const UniValue& test = tests[idx];
|
||||
std::string strTest = test.write();
|
||||
if (test[0].isArray())
|
||||
{
|
||||
|
@ -299,7 +299,7 @@ BOOST_AUTO_TEST_CASE(tx_invalid)
|
|||
fValid = false;
|
||||
break;
|
||||
}
|
||||
UniValue vinput = input.get_array();
|
||||
const UniValue& vinput = input.get_array();
|
||||
if (vinput.size() < 3 || vinput.size() > 4)
|
||||
{
|
||||
fValid = false;
|
||||
|
|
|
@ -183,7 +183,7 @@ BOOST_AUTO_TEST_CASE(processnewblock_signals_ordering)
|
|||
}
|
||||
|
||||
// to make sure that eventually we process the full chain - do it here
|
||||
for (auto block : blocks) {
|
||||
for (const auto& block : blocks) {
|
||||
if (block->vtx.size() == 1) {
|
||||
bool processed = Assert(m_node.chainman)->ProcessNewBlock(block, true, &ignored);
|
||||
assert(processed);
|
||||
|
|
|
@ -432,7 +432,7 @@ void BerkeleyEnvironment::ReloadDbEnv()
|
|||
});
|
||||
|
||||
std::vector<fs::path> filenames;
|
||||
for (auto it : m_databases) {
|
||||
for (const auto& it : m_databases) {
|
||||
filenames.push_back(it.first);
|
||||
}
|
||||
// Close the individual Db's
|
||||
|
|
|
@ -416,7 +416,7 @@ std::set< std::set<CTxDestination> > GetAddressGroupings(const CWallet& wallet)
|
|||
|
||||
std::set< std::set<CTxDestination>* > uniqueGroupings; // a set of pointers to groups of addresses
|
||||
std::map< CTxDestination, std::set<CTxDestination>* > setmap; // map addresses to the unique group containing it
|
||||
for (std::set<CTxDestination> _grouping : groupings)
|
||||
for (const std::set<CTxDestination>& _grouping : groupings)
|
||||
{
|
||||
// make a set of all the groups hit by this new group
|
||||
std::set< std::set<CTxDestination>* > hits;
|
||||
|
|
|
@ -1407,7 +1407,7 @@ RPCHelpMan sendall()
|
|||
}
|
||||
|
||||
CAmount output_amounts_claimed{0};
|
||||
for (CTxOut out : rawTx.vout) {
|
||||
for (const CTxOut& out : rawTx.vout) {
|
||||
output_amounts_claimed += out.nValue;
|
||||
}
|
||||
|
||||
|
|
|
@ -1789,7 +1789,7 @@ std::map<CKeyID, CKey> DescriptorScriptPubKeyMan::GetKeys() const
|
|||
AssertLockHeld(cs_desc_man);
|
||||
if (m_storage.HasEncryptionKeys() && !m_storage.IsLocked()) {
|
||||
KeyMap keys;
|
||||
for (auto key_pair : m_map_crypted_keys) {
|
||||
for (const auto& key_pair : m_map_crypted_keys) {
|
||||
const CPubKey& pubkey = key_pair.second.first;
|
||||
const std::vector<unsigned char>& crypted_secret = key_pair.second.second;
|
||||
CKey key;
|
||||
|
|
|
@ -3434,7 +3434,7 @@ void CWallet::SetupDescriptorScriptPubKeyMans()
|
|||
const UniValue& descriptor_vals = find_value(signer_res, internal ? "internal" : "receive");
|
||||
if (!descriptor_vals.isArray()) throw std::runtime_error(std::string(__func__) + ": Unexpected result");
|
||||
for (const UniValue& desc_val : descriptor_vals.get_array().getValues()) {
|
||||
std::string desc_str = desc_val.getValStr();
|
||||
const std::string& desc_str = desc_val.getValStr();
|
||||
FlatSigningProvider keys;
|
||||
std::string desc_error;
|
||||
std::unique_ptr<Descriptor> desc = Parse(desc_str, keys, desc_error, false);
|
||||
|
|
|
@ -856,18 +856,18 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
|
|||
}
|
||||
|
||||
// Set the descriptor caches
|
||||
for (auto desc_cache_pair : wss.m_descriptor_caches) {
|
||||
for (const auto& desc_cache_pair : wss.m_descriptor_caches) {
|
||||
auto spk_man = pwallet->GetScriptPubKeyMan(desc_cache_pair.first);
|
||||
assert(spk_man);
|
||||
((DescriptorScriptPubKeyMan*)spk_man)->SetCache(desc_cache_pair.second);
|
||||
}
|
||||
|
||||
// Set the descriptor keys
|
||||
for (auto desc_key_pair : wss.m_descriptor_keys) {
|
||||
for (const auto& desc_key_pair : wss.m_descriptor_keys) {
|
||||
auto spk_man = pwallet->GetScriptPubKeyMan(desc_key_pair.first.first);
|
||||
((DescriptorScriptPubKeyMan*)spk_man)->AddKey(desc_key_pair.first.second, desc_key_pair.second);
|
||||
}
|
||||
for (auto desc_key_pair : wss.m_descriptor_crypt_keys) {
|
||||
for (const auto& desc_key_pair : wss.m_descriptor_crypt_keys) {
|
||||
auto spk_man = pwallet->GetScriptPubKeyMan(desc_key_pair.first.first);
|
||||
((DescriptorScriptPubKeyMan*)spk_man)->AddCryptedKey(desc_key_pair.first.second, desc_key_pair.second.first, desc_key_pair.second.second);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue