Skip to content

Commit af20ce5

Browse files
committed
Automatically prepend VarIntMode::
1 parent 649bfb0 commit af20ce5

File tree

6 files changed

+24
-23
lines changed

6 files changed

+24
-23
lines changed

src/chain.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ struct CDiskBlockPos
9191

9292
template <typename Stream, typename Operation>
9393
inline void SerializationOp(Stream& s, Operation ser_action) {
94-
READWRITE(VARINT(nFile, VarIntMode::NONNEGATIVE_SIGNED));
94+
READWRITE(VARINT(nFile, NONNEGATIVE_SIGNED));
9595
READWRITE(VARINT(nPos));
9696
}
9797

@@ -386,13 +386,13 @@ class CDiskBlockIndex : public CBlockIndex
386386
inline void SerializationOp(Stream& s, Operation ser_action) {
387387
int _nVersion = s.GetVersion();
388388
if (!(s.GetType() & SER_GETHASH))
389-
READWRITE(VARINT(_nVersion, VarIntMode::NONNEGATIVE_SIGNED));
389+
READWRITE(VARINT(_nVersion, NONNEGATIVE_SIGNED));
390390

391-
READWRITE(VARINT(nHeight, VarIntMode::NONNEGATIVE_SIGNED));
391+
READWRITE(VARINT(nHeight, NONNEGATIVE_SIGNED));
392392
READWRITE(VARINT(nStatus));
393393
READWRITE(VARINT(nTx));
394394
if (nStatus & (BLOCK_HAVE_DATA | BLOCK_HAVE_UNDO))
395-
READWRITE(VARINT(nFile, VarIntMode::NONNEGATIVE_SIGNED));
395+
READWRITE(VARINT(nFile, NONNEGATIVE_SIGNED));
396396
if (nStatus & BLOCK_HAVE_DATA)
397397
READWRITE(VARINT(nDataPos));
398398
if (nStatus & BLOCK_HAVE_UNDO)

src/rpc/blockchain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -794,12 +794,12 @@ static void ApplyStats(CCoinsStats &stats, CHashWriter& ss, const uint256& hash,
794794
{
795795
assert(!outputs.empty());
796796
ss << hash;
797-
ss << VARINT(outputs.begin()->second.nHeight * 2 + outputs.begin()->second.fCoinBase, VarIntMode::NONNEGATIVE_SIGNED);
797+
ss << VARINT(outputs.begin()->second.nHeight * 2 + outputs.begin()->second.fCoinBase, NONNEGATIVE_SIGNED);
798798
stats.nTransactions++;
799799
for (const auto output : outputs) {
800800
ss << VARINT(output.first + 1);
801801
ss << output.second.out.scriptPubKey;
802-
ss << VARINT(output.second.out.nValue, VarIntMode::NONNEGATIVE_SIGNED);
802+
ss << VARINT(output.second.out.nValue, NONNEGATIVE_SIGNED);
803803
stats.nTransactionOutputs++;
804804
stats.nTotalAmount += output.second.out.nValue;
805805
stats.nBogoSize += 32 /* txid */ + 4 /* vout index */ + 4 /* height + coinbase */ + 8 /* amount */ +

src/serialize.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,8 @@ I ReadVarInt(Stream& is)
376376
}
377377

378378
#define FLATDATA(obj) REF(CFlatData((char*)&(obj), (char*)&(obj) + sizeof(obj)))
379-
#define VARINT(obj, ...) REF(WrapVarInt<__VA_ARGS__>(REF(obj)))
379+
#define _PREPEND(first, second, ...) first second
380+
#define VARINT(obj, ...) REF(WrapVarInt<_PREPEND(VarIntMode::, ##__VA_ARGS__, DEFAULT)>(REF(obj)))
380381
#define COMPACTSIZE(obj) REF(CCompactSize(REF(obj)))
381382
#define LIMITED_STRING(obj,n) REF(LimitedString< n >(REF(obj)))
382383

@@ -486,7 +487,7 @@ class LimitedString
486487
}
487488
};
488489

489-
template<VarIntMode Mode=VarIntMode::DEFAULT, typename I>
490+
template<VarIntMode Mode, typename I>
490491
CVarInt<Mode, I> WrapVarInt(I& n) { return {n}; }
491492

492493
/**

src/test/serialize_tests.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ BOOST_AUTO_TEST_CASE(varints)
177177
CDataStream ss(SER_DISK, 0);
178178
CDataStream::size_type size = 0;
179179
for (int i = 0; i < 100000; i++) {
180-
ss << VARINT(i, VarIntMode::NONNEGATIVE_SIGNED);
181-
size += ::GetSerializeSize(VARINT(i, VarIntMode::NONNEGATIVE_SIGNED), 0, 0);
180+
ss << VARINT(i, NONNEGATIVE_SIGNED);
181+
size += ::GetSerializeSize(VARINT(i, NONNEGATIVE_SIGNED), 0, 0);
182182
BOOST_CHECK(size == ss.size());
183183
}
184184

@@ -191,7 +191,7 @@ BOOST_AUTO_TEST_CASE(varints)
191191
// decode
192192
for (int i = 0; i < 100000; i++) {
193193
int j = -1;
194-
ss >> VARINT(j, VarIntMode::NONNEGATIVE_SIGNED);
194+
ss >> VARINT(j, NONNEGATIVE_SIGNED);
195195
BOOST_CHECK_MESSAGE(i == j, "decoded:" << j << " expected:" << i);
196196
}
197197

@@ -205,21 +205,21 @@ BOOST_AUTO_TEST_CASE(varints)
205205
BOOST_AUTO_TEST_CASE(varints_bitpatterns)
206206
{
207207
CDataStream ss(SER_DISK, 0);
208-
ss << VARINT(0, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "00"); ss.clear();
209-
ss << VARINT(0x7f, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "7f"); ss.clear();
210-
ss << VARINT((int8_t)0x7f, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "7f"); ss.clear();
211-
ss << VARINT(0x80, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "8000"); ss.clear();
208+
ss << VARINT(0, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "00"); ss.clear();
209+
ss << VARINT(0x7f, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "7f"); ss.clear();
210+
ss << VARINT((int8_t)0x7f, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "7f"); ss.clear();
211+
ss << VARINT(0x80, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "8000"); ss.clear();
212212
ss << VARINT((uint8_t)0x80); BOOST_CHECK_EQUAL(HexStr(ss), "8000"); ss.clear();
213-
ss << VARINT(0x1234, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "a334"); ss.clear();
214-
ss << VARINT((int16_t)0x1234, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "a334"); ss.clear();
215-
ss << VARINT(0xffff, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "82fe7f"); ss.clear();
213+
ss << VARINT(0x1234, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "a334"); ss.clear();
214+
ss << VARINT((int16_t)0x1234, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "a334"); ss.clear();
215+
ss << VARINT(0xffff, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "82fe7f"); ss.clear();
216216
ss << VARINT((uint16_t)0xffff); BOOST_CHECK_EQUAL(HexStr(ss), "82fe7f"); ss.clear();
217-
ss << VARINT(0x123456, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "c7e756"); ss.clear();
218-
ss << VARINT((int32_t)0x123456, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "c7e756"); ss.clear();
217+
ss << VARINT(0x123456, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "c7e756"); ss.clear();
218+
ss << VARINT((int32_t)0x123456, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "c7e756"); ss.clear();
219219
ss << VARINT(0x80123456U); BOOST_CHECK_EQUAL(HexStr(ss), "86ffc7e756"); ss.clear();
220220
ss << VARINT((uint32_t)0x80123456U); BOOST_CHECK_EQUAL(HexStr(ss), "86ffc7e756"); ss.clear();
221221
ss << VARINT(0xffffffff); BOOST_CHECK_EQUAL(HexStr(ss), "8efefefe7f"); ss.clear();
222-
ss << VARINT(0x7fffffffffffffffLL, VarIntMode::NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "fefefefefefefefe7f"); ss.clear();
222+
ss << VARINT(0x7fffffffffffffffLL, NONNEGATIVE_SIGNED); BOOST_CHECK_EQUAL(HexStr(ss), "fefefefefefefefe7f"); ss.clear();
223223
ss << VARINT(0xffffffffffffffffULL); BOOST_CHECK_EQUAL(HexStr(ss), "80fefefefefefefefe7f"); ss.clear();
224224
}
225225

src/txdb.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ class CCoins
351351
::Unserialize(s, REF(CTxOutCompressor(vout[i])));
352352
}
353353
// coinbase height
354-
::Unserialize(s, VARINT(nHeight, VarIntMode::NONNEGATIVE_SIGNED));
354+
::Unserialize(s, VARINT(nHeight, NONNEGATIVE_SIGNED));
355355
}
356356
};
357357

src/undo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class TxInUndoSerializer
2525
public:
2626
template<typename Stream>
2727
void Serialize(Stream &s) const {
28-
::Serialize(s, VARINT(txout->nHeight * 2 + (txout->fCoinBase ? 1 : 0), VarIntMode::NONNEGATIVE_SIGNED));
28+
::Serialize(s, VARINT(txout->nHeight * 2 + (txout->fCoinBase ? 1 : 0), NONNEGATIVE_SIGNED));
2929
if (txout->nHeight > 0) {
3030
// Required to maintain compatibility with older undo format.
3131
::Serialize(s, (unsigned char)0);

0 commit comments

Comments
 (0)