Browse Source

Read/write mempool.dat as a binary.

mempool.dat is a binary file and thus it should be read/written as such.

Fixes #9810.
0.15
Pavel Janík 7 years ago
parent
commit
171fc91f06
  1. 4
      src/validation.cpp

4
src/validation.cpp

@ -4180,7 +4180,7 @@ static const uint64_t MEMPOOL_DUMP_VERSION = 1; @@ -4180,7 +4180,7 @@ static const uint64_t MEMPOOL_DUMP_VERSION = 1;
bool LoadMempool(void)
{
int64_t nExpiryTimeout = GetArg("-mempoolexpiry", DEFAULT_MEMPOOL_EXPIRY) * 60 * 60;
FILE* filestr = fopen((GetDataDir() / "mempool.dat").string().c_str(), "r");
FILE* filestr = fopen((GetDataDir() / "mempool.dat").string().c_str(), "rb");
CAutoFile file(filestr, SER_DISK, CLIENT_VERSION);
if (file.IsNull()) {
LogPrintf("Failed to open mempool file from disk. Continuing anyway.\n");
@ -4261,7 +4261,7 @@ void DumpMempool(void) @@ -4261,7 +4261,7 @@ void DumpMempool(void)
int64_t mid = GetTimeMicros();
try {
FILE* filestr = fopen((GetDataDir() / "mempool.dat.new").string().c_str(), "w");
FILE* filestr = fopen((GetDataDir() / "mempool.dat.new").string().c_str(), "wb");
if (!filestr) {
return;
}

Loading…
Cancel
Save