Skip to content

Commit

Permalink
Merge bitcoin#27289: Refactor: Remove unused FlatFilePos::SetNull
Browse files Browse the repository at this point in the history
fa67b81 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 bitcoin#26296 (comment))

  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 fa67b81
  TheCharlatan:
    ACK fa67b81
  john-moffett:
    ACK fa67b81

Tree-SHA512: 465c5e3eb4625405c445695d33e09a1fc5185c7dd1e766ba06034fb093880bfc65441d5334f7d9b20e2e417c2075557d86059f59d9648ca0e62a54c699c029b9
  • Loading branch information
fanquake authored and PastaPastaPasta committed Oct 24, 2024
1 parent 6062ee1 commit 566ae44
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 16 deletions.
7 changes: 3 additions & 4 deletions src/flatfile.h
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand All @@ -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;
Expand Down
12 changes: 2 additions & 10 deletions src/index/disktxpos.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

struct CDiskTxPos : public FlatFilePos
{
unsigned int nTxOffset; // after header
unsigned int nTxOffset{0}; // after header

SERIALIZE_METHODS(CDiskTxPos, obj)
{
Expand All @@ -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
3 changes: 3 additions & 0 deletions src/test/flatfile_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 0 additions & 2 deletions src/test/fuzz/flatfile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

0 comments on commit 566ae44

Please sign in to comment.