Avoid an allocate/copy/free

This commit is contained in:
JoelKatz
2013-05-17 01:46:22 -07:00
parent c377562e7f
commit 249d5575cd

View File

@@ -29,14 +29,12 @@ void AccountItems::fillItems(const uint160& accountID, Ledger::ref ledger)
SLE::pointer ownerDir = ledger->getDirNode(currentIndex); SLE::pointer ownerDir = ledger->getDirNode(currentIndex);
if (!ownerDir) return; if (!ownerDir) return;
STVector256 svOwnerNodes = ownerDir->getFieldV256(sfIndexes); BOOST_FOREACH(const uint256& uNode, ownerDir->getFieldV256(sfIndexes).peekValue())
BOOST_FOREACH(uint256& uNode, svOwnerNodes.peekValue())
{ {
SLE::pointer sleCur = ledger->getSLEi(uNode); SLE::pointer sleCur = ledger->getSLEi(uNode);
AccountItem::pointer item = mOfType->makeItem(accountID, sleCur); AccountItem::pointer item = mOfType->makeItem(accountID, sleCur);
if(item) if (item)
{ {
mItems.push_back(item); mItems.push_back(item);
} }