From 3383c4855fb245723ebbc408cba317e55c477f1e Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Tue, 14 Jul 2020 23:49:58 +0100 Subject: [PATCH] More iterator cleanups. Signed-off-by: Daira Hopwood --- src/main.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index cceaaf9aa..d3bdbb214 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3870,10 +3870,8 @@ bool ReceivedBlockTransactions( } std::pair::iterator, std::multimap::iterator> range = mapBlocksUnlinked.equal_range(pindex); while (range.first != range.second) { - std::multimap::iterator it = range.first; - queue.push_back(it->second); - range.first++; - mapBlocksUnlinked.erase(it); + queue.push_back(range.first->second); + range.first = mapBlocksUnlinked.erase(range.first); } } } else { @@ -4411,10 +4409,10 @@ void PruneOneBlockFile(const int fileNumber) // mapBlocksUnlinked or setBlockIndexCandidates. std::pair::iterator, std::multimap::iterator> range = mapBlocksUnlinked.equal_range(pindex->pprev); while (range.first != range.second) { - std::multimap::iterator it = range.first; - range.first++; - if (it->second == pindex) { - mapBlocksUnlinked.erase(it); + if (range.first->second == pindex) { + range.first = mapBlocksUnlinked.erase(range.first); + } else { + ++range.first; } } } @@ -5160,20 +5158,18 @@ bool LoadExternalBlockFile(const CChainParams& chainparams, FILE* fileIn, CDiskB queue.pop_front(); std::pair::iterator, std::multimap::iterator> range = mapBlocksUnknownParent.equal_range(head); while (range.first != range.second) { - std::multimap::iterator it = range.first; - if (ReadBlockFromDisk(block, it->second, chainparams.GetConsensus())) + if (ReadBlockFromDisk(block, range.first->second, chainparams.GetConsensus())) { LogPrintf("%s: Processing out of order child %s of %s\n", __func__, block.GetHash().ToString(), head.ToString()); CValidationState dummy; - if (ProcessNewBlock(dummy, chainparams, NULL, &block, true, &it->second)) + if (ProcessNewBlock(dummy, chainparams, NULL, &block, true, &(range.first->second))) { nLoaded++; queue.push_back(block.GetHash()); } } - range.first++; - mapBlocksUnknownParent.erase(it); + range.first = mapBlocksUnknownParent.erase(range.first); } } } catch (const std::exception& e) {