0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-09 10:43:19 -05:00

refactor: SetAddressBookWithDB, minimize number of map lookups

This commit is contained in:
furszy 2023-02-25 16:39:11 -03:00
parent bba4f8dcb5
commit d0943315b1
No known key found for this signature in database
GPG key ID: 5DD23CCC686AA623

View file

@ -2359,14 +2359,15 @@ bool CWallet::SetAddressBookWithDB(WalletBatch& batch, const CTxDestination& add
{
LOCK(cs_wallet);
std::map<CTxDestination, CAddressBookData>::iterator mi = m_address_book.find(address);
fUpdated = (mi != m_address_book.end() && !mi->second.IsChange());
m_address_book[address].SetLabel(strName);
fUpdated = mi != m_address_book.end() && !mi->second.IsChange();
CAddressBookData& record = mi != m_address_book.end() ? mi->second : m_address_book[address];
record.SetLabel(strName);
is_mine = IsMine(address) != ISMINE_NO;
if (new_purpose) { /* update purpose only if requested */
purpose = m_address_book[address].purpose = new_purpose;
} else {
purpose = m_address_book[address].purpose;
record.purpose = new_purpose;
}
purpose = record.purpose;
}
const std::string& encoded_dest = EncodeDestination(address);