diff options
| author | Jim Posen <[email protected]> | 2019-01-06 11:14:22 -0800 |
|---|---|---|
| committer | Jim Posen <[email protected]> | 2019-02-22 17:38:45 -0800 |
| commit | e2d2abb99fe353ffc2ff3bc1ff578fad31065335 (patch) | |
| tree | d2085909eecec7d13d78cb111bc466fa4f072480 /src/validation.cpp | |
| parent | validation: Extract basic block file logic into FlatFileSeq class. (diff) | |
| download | discoin-e2d2abb99fe353ffc2ff3bc1ff578fad31065335.tar.xz discoin-e2d2abb99fe353ffc2ff3bc1ff578fad31065335.zip | |
validation: Refactor OpenDiskFile into method on FlatFileSeq.
Diffstat (limited to 'src/validation.cpp')
| -rw-r--r-- | src/validation.cpp | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/validation.cpp b/src/validation.cpp index 3abe8b2fa..413506350 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3769,29 +3769,6 @@ static void FindFilesToPrune(std::set<int>& setFilesToPrune, uint64_t nPruneAfte nLastBlockWeCanPrune, count); } -static FILE* OpenDiskFile(const CDiskBlockPos &pos, const char *prefix, bool fReadOnly) -{ - if (pos.IsNull()) - return nullptr; - fs::path path = GetBlockPosFilename(pos, prefix); - fs::create_directories(path.parent_path()); - FILE* file = fsbridge::fopen(path, fReadOnly ? "rb": "rb+"); - if (!file && !fReadOnly) - file = fsbridge::fopen(path, "wb+"); - if (!file) { - LogPrintf("Unable to open file %s\n", path.string()); - return nullptr; - } - if (pos.nPos) { - if (fseek(file, pos.nPos, SEEK_SET)) { - LogPrintf("Unable to seek to position %u of %s\n", pos.nPos, path.string()); - fclose(file); - return nullptr; - } - } - return file; -} - static FlatFileSeq BlockFileSeq() { return FlatFileSeq(GetBlocksDir(), "blk", BLOCKFILE_CHUNK_SIZE); @@ -3803,12 +3780,12 @@ static FlatFileSeq UndoFileSeq() } FILE* OpenBlockFile(const CDiskBlockPos &pos, bool fReadOnly) { - return OpenDiskFile(pos, "blk", fReadOnly); + return BlockFileSeq().Open(pos, fReadOnly); } /** Open an undo file (rev?????.dat) */ static FILE* OpenUndoFile(const CDiskBlockPos &pos, bool fReadOnly) { - return OpenDiskFile(pos, "rev", fReadOnly); + return UndoFileSeq().Open(pos, fReadOnly); } fs::path GetBlockPosFilename(const CDiskBlockPos &pos) |