From 0dbafcee46a45a94d6b99edb9d72906c5e86597e Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 22 Mar 2023 09:27:46 +0000 Subject: [PATCH] Merge bitcoin/bitcoin#27289: Refactor: Remove unused FlatFilePos::SetNull fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a Refactor: Remove unused FlatFilePos::SetNull (MarcoFalke) Pull request description: This is unused outside of tests and the default constructor. With C++11, it can be replaced by C++11 member initializers in the default constructor. Beside removing unused code, this also makes it less fragile in light of uninitialized memory. (See also https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1477801767) If new code needs to set this to null, it can use `std::optional`, or in the worst case re-introduce this method. ACKs for top commit: dergoegge: Code review ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a TheCharlatan: ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a john-moffett: ACK fa67b8181c3ecf94395ecc50fd8acd436f1f8c3a Tree-SHA512: 465c5e3eb4625405c445695d33e09a1fc5185c7dd1e766ba06034fb093880bfc65441d5334f7d9b20e2e417c2075557d86059f59d9648ca0e62a54c699c029b9 --- src/flatfile.h | 7 +++---- src/index/disktxpos.h | 12 ++---------- src/test/flatfile_tests.cpp | 3 +++ src/test/fuzz/flatfile.cpp | 2 -- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/flatfile.h b/src/flatfile.h index 009984f6b8..9c0a1541ea 100644 --- a/src/flatfile.h +++ b/src/flatfile.h @@ -13,15 +13,15 @@ struct FlatFilePos { - int nFile; - unsigned int nPos; + int nFile{-1}; + unsigned int nPos{0}; SERIALIZE_METHODS(FlatFilePos, obj) { READWRITE(VARINT_MODE(obj.nFile, VarIntMode::NONNEGATIVE_SIGNED), VARINT(obj.nPos)); } - FlatFilePos() : nFile(-1), nPos(0) {} + FlatFilePos() {} FlatFilePos(int nFileIn, unsigned int nPosIn) : nFile(nFileIn), @@ -36,7 +36,6 @@ struct FlatFilePos return !(a == b); } - void SetNull() { nFile = -1; nPos = 0; } bool IsNull() const { return (nFile == -1); } std::string ToString() const; diff --git a/src/index/disktxpos.h b/src/index/disktxpos.h index 3166053226..7718755b78 100644 --- a/src/index/disktxpos.h +++ b/src/index/disktxpos.h @@ -10,7 +10,7 @@ struct CDiskTxPos : public FlatFilePos { - unsigned int nTxOffset; // after header + unsigned int nTxOffset{0}; // after header SERIALIZE_METHODS(CDiskTxPos, obj) { @@ -21,15 +21,7 @@ struct CDiskTxPos : public FlatFilePos CDiskTxPos(const FlatFilePos &blockIn, unsigned int nTxOffsetIn) : FlatFilePos(blockIn.nFile, blockIn.nPos), nTxOffset(nTxOffsetIn) { } - CDiskTxPos() { - SetNull(); - } - - void SetNull() { - FlatFilePos::SetNull(); - nTxOffset = 0; - } + CDiskTxPos() {} }; - #endif // BITCOIN_INDEX_DISKTXPOS_H diff --git a/src/test/flatfile_tests.cpp b/src/test/flatfile_tests.cpp index f4bc320f3c..09b94e78fb 100644 --- a/src/test/flatfile_tests.cpp +++ b/src/test/flatfile_tests.cpp @@ -23,6 +23,9 @@ BOOST_AUTO_TEST_CASE(flatfile_filename) FlatFileSeq seq2(data_dir / "a", "b", 16 * 1024); BOOST_CHECK_EQUAL(seq2.FileName(pos), data_dir / "a" / "b00456.dat"); + + // Check default constructor IsNull + assert(FlatFilePos{}.IsNull()); } BOOST_AUTO_TEST_CASE(flatfile_open) diff --git a/src/test/fuzz/flatfile.cpp b/src/test/fuzz/flatfile.cpp index d142e374b1..b5c82c14b4 100644 --- a/src/test/fuzz/flatfile.cpp +++ b/src/test/fuzz/flatfile.cpp @@ -25,6 +25,4 @@ FUZZ_TARGET(flatfile) assert((*flat_file_pos == *another_flat_file_pos) != (*flat_file_pos != *another_flat_file_pos)); } (void)flat_file_pos->ToString(); - flat_file_pos->SetNull(); - assert(flat_file_pos->IsNull()); }