diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-01-26 16:28:31 +0000 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-01-28 17:25:16 +0000 |
commit | 039425cf4fab56ea0e42564849a15485afa582ae (patch) | |
tree | ba2ffcc0d80c9bae8d2570fa889b4328982bef7f | |
parent | 2ae7cf8ef5be67e085abc1b1dc71bc44865a71b3 (diff) |
[wallet] Remove duplicate mapWallet lookups
-rw-r--r-- | src/wallet/wallet.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 07a23ce249..2b8019395c 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -531,14 +531,11 @@ void CWallet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator> ran int nMinOrderPos = std::numeric_limits<int>::max(); const CWalletTx* copyFrom = nullptr; - for (TxSpends::iterator it = range.first; it != range.second; ++it) - { - const uint256& hash = it->second; - int n = mapWallet[hash].nOrderPos; - if (n < nMinOrderPos) - { - nMinOrderPos = n; - copyFrom = &mapWallet[hash]; + for (TxSpends::iterator it = range.first; it != range.second; ++it) { + const CWalletTx* wtx = &mapWallet[it->second]; + if (wtx->nOrderPos < nMinOrderPos) { + nMinOrderPos = wtx->nOrderPos;; + copyFrom = wtx; } } @@ -988,9 +985,7 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn, bool fFlushOnClose) bool CWallet::LoadToWallet(const CWalletTx& wtxIn) { uint256 hash = wtxIn.GetHash(); - - mapWallet[hash] = wtxIn; - CWalletTx& wtx = mapWallet[hash]; + CWalletTx& wtx = mapWallet.emplace(hash, wtxIn).first->second; wtx.BindWallet(this); wtxOrdered.insert(std::make_pair(wtx.nOrderPos, TxPair(&wtx, nullptr))); AddToSpends(hash); |