writeBack(lepCREATE) bugfix.

This commit is contained in:
JoelKatz
2012-04-26 18:39:28 -07:00
parent ae9e7024f1
commit 8ad5ff9577

View File

@@ -11,17 +11,34 @@ LedgerStateParms Ledger::writeBack(LedgerStateParms parms, SerializedLedgerEntry
if (!mAccountStateMap->hasItem(entry->getIndex()))
{
if ((parms & lepCREATE) == 0)
{
#ifdef DEBUG
std::cerr << "writeBack no create" << std::endl;
#endif
return lepMISSING;
}
create = true;
}
SHAMapItem::pointer item = boost::make_shared<SHAMapItem>(entry->getIndex());
entry->add(item->peekSerializer());
if (!mAccountStateMap->updateGiveItem(item, false))
return lepERROR;
if (create)
{
if(!mAccountStateMap->addGiveItem(item, false))
{
assert(false);
return lepERROR;
}
return lepCREATED;
}
return create ? lepCREATED : lepOKAY;
if(!mAccountStateMap->updateGiveItem(item, false))
{
assert(false);
return lepERROR;
}
return lepOKAY;
}
SerializedLedgerEntry::pointer Ledger::getASNode(LedgerStateParms& parms, const uint256& nodeID,