Changeset View
Changeset View
Standalone View
Standalone View
src/validation.cpp
Show First 20 Lines • Show All 957 Lines • ▼ Show 20 Lines | static bool WriteBlockToDisk(const CBlock &block, FlatFilePos &pos, | ||||
const CMessageHeader::MessageMagic &messageStart) { | const CMessageHeader::MessageMagic &messageStart) { | ||||
// Open history file to append | // Open history file to append | ||||
CAutoFile fileout(OpenBlockFile(pos), SER_DISK, CLIENT_VERSION); | CAutoFile fileout(OpenBlockFile(pos), SER_DISK, CLIENT_VERSION); | ||||
if (fileout.IsNull()) { | if (fileout.IsNull()) { | ||||
return error("WriteBlockToDisk: OpenBlockFile failed"); | return error("WriteBlockToDisk: OpenBlockFile failed"); | ||||
} | } | ||||
// Write index header | // Write index header | ||||
unsigned int nSize = GetSerializeSize(fileout, block); | unsigned int nSize = GetSerializeSize(block, fileout.GetVersion()); | ||||
fileout << messageStart << nSize; | fileout << messageStart << nSize; | ||||
// Write block | // Write block | ||||
long fileOutPos = ftell(fileout.Get()); | long fileOutPos = ftell(fileout.Get()); | ||||
if (fileOutPos < 0) { | if (fileOutPos < 0) { | ||||
return error("WriteBlockToDisk: ftell failed"); | return error("WriteBlockToDisk: ftell failed"); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 383 Lines • ▼ Show 20 Lines | bool UndoWriteToDisk(const CBlockUndo &blockundo, FlatFilePos &pos, | ||||
const CMessageHeader::MessageMagic &messageStart) { | const CMessageHeader::MessageMagic &messageStart) { | ||||
// Open history file to append | // Open history file to append | ||||
CAutoFile fileout(OpenUndoFile(pos), SER_DISK, CLIENT_VERSION); | CAutoFile fileout(OpenUndoFile(pos), SER_DISK, CLIENT_VERSION); | ||||
if (fileout.IsNull()) { | if (fileout.IsNull()) { | ||||
return error("%s: OpenUndoFile failed", __func__); | return error("%s: OpenUndoFile failed", __func__); | ||||
} | } | ||||
// Write index header | // Write index header | ||||
unsigned int nSize = GetSerializeSize(fileout, blockundo); | unsigned int nSize = GetSerializeSize(blockundo, fileout.GetVersion()); | ||||
fileout << messageStart << nSize; | fileout << messageStart << nSize; | ||||
// Write undo data | // Write undo data | ||||
long fileOutPos = ftell(fileout.Get()); | long fileOutPos = ftell(fileout.Get()); | ||||
if (fileOutPos < 0) { | if (fileOutPos < 0) { | ||||
return error("%s: ftell failed", __func__); | return error("%s: ftell failed", __func__); | ||||
} | } | ||||
pos.nPos = (unsigned int)fileOutPos; | pos.nPos = (unsigned int)fileOutPos; | ||||
▲ Show 20 Lines • Show All 4,418 Lines • Show Last 20 Lines |