mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-06 11:13:02 +02:00
wallet: Rename RecordType::DELETE to RecordType::DELETE_FLAG
On Windows, the `winnt.h` header defines `DELETE` as a macro for a "Standard Access Right" bitmask (0x00010000L). This introduces a fragile dependency on header inclusion order: if Windows headers happen to be included before this enum definition, the preprocessor expands `DELETE` into a numeric literal, causing syntax errors. Rename the enumerator to `DELETE_FLAG` to remove this fragility and avoid the collision entirely.
This commit is contained in:
@@ -50,7 +50,7 @@ enum class RecordType : uint8_t {
|
|||||||
KEYDATA = 1,
|
KEYDATA = 1,
|
||||||
// DUPLICATE = 2, Unused as our databases do not support duplicate records
|
// DUPLICATE = 2, Unused as our databases do not support duplicate records
|
||||||
OVERFLOW_DATA = 3,
|
OVERFLOW_DATA = 3,
|
||||||
DELETE = 0x80, // Indicate this record is deleted. This is OR'd with the real type.
|
DELETE_FLAG = 0x80, // Indicate this record is deleted. This is OR'd with the real type.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class BTreeFlags : uint32_t {
|
enum class BTreeFlags : uint32_t {
|
||||||
@@ -208,8 +208,8 @@ class RecordHeader
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
uint16_t len; // Key/data item length
|
uint16_t len; // Key/data item length
|
||||||
RecordType type; // Page type (BDB has this include a DELETE FLAG that we track separately)
|
RecordType type; // Page type (BDB has this; includes a DELETE_FLAG that we track separately)
|
||||||
bool deleted; // Whether the DELETE flag was set on type
|
bool deleted; // Whether the DELETE_FLAG was set on type
|
||||||
|
|
||||||
static constexpr size_t SIZE = 3; // The record header is 3 bytes
|
static constexpr size_t SIZE = 3; // The record header is 3 bytes
|
||||||
|
|
||||||
@@ -225,8 +225,8 @@ public:
|
|||||||
|
|
||||||
uint8_t uint8_type;
|
uint8_t uint8_type;
|
||||||
s >> uint8_type;
|
s >> uint8_type;
|
||||||
type = static_cast<RecordType>(uint8_type & ~static_cast<uint8_t>(RecordType::DELETE));
|
type = static_cast<RecordType>(uint8_type & ~static_cast<uint8_t>(RecordType::DELETE_FLAG));
|
||||||
deleted = uint8_type & static_cast<uint8_t>(RecordType::DELETE);
|
deleted = uint8_type & static_cast<uint8_t>(RecordType::DELETE_FLAG);
|
||||||
|
|
||||||
if (other_endian) {
|
if (other_endian) {
|
||||||
len = internal_bswap_16(len);
|
len = internal_bswap_16(len);
|
||||||
|
|||||||
Reference in New Issue
Block a user