Read/write mempool.dat as a binary.
mempool.dat is a binary file and thus it should be read/written as such. Fixes #9810.
This commit is contained in:
parent
7639d38f14
commit
171fc91f06
1 changed files with 2 additions and 2 deletions
|
@ -4180,7 +4180,7 @@ static const uint64_t MEMPOOL_DUMP_VERSION = 1;
|
||||||
bool LoadMempool(void)
|
bool LoadMempool(void)
|
||||||
{
|
{
|
||||||
int64_t nExpiryTimeout = GetArg("-mempoolexpiry", DEFAULT_MEMPOOL_EXPIRY) * 60 * 60;
|
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);
|
CAutoFile file(filestr, SER_DISK, CLIENT_VERSION);
|
||||||
if (file.IsNull()) {
|
if (file.IsNull()) {
|
||||||
LogPrintf("Failed to open mempool file from disk. Continuing anyway.\n");
|
LogPrintf("Failed to open mempool file from disk. Continuing anyway.\n");
|
||||||
|
@ -4261,7 +4261,7 @@ void DumpMempool(void)
|
||||||
int64_t mid = GetTimeMicros();
|
int64_t mid = GetTimeMicros();
|
||||||
|
|
||||||
try {
|
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) {
|
if (!filestr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue