Merge bitcoin/bitcoin#34483: refactor: Use SpanReader over DataStream
fa0677d131refactor: Use SpanReader over DataStream (MarcoFalke)fad3eb3956refactor: Use SpanReader over DataStream (MarcoFalke)fa06e26764refactor: [qt] Use SpanReader to avoid two vector copies (MarcoFalke)fabd4d2e2erefactor: Avoid UB in SpanReader::ignore (MarcoFalke)fa20bc2ec2refactor: Use empty() over eof() in the streams interface (MarcoFalke)fa879db735test: Read debug log for self-checking comment (MarcoFalke) Pull request description: This changes all places, where possible, to use SpanReader over DataStream. This makes the code easier to read and reason about, because `SpanReader` can never write data. Also, the code should be minimally faster, because it avoids a full redundant copy of the whole vector of bytes. ACKs for top commit: stickies-v: re-ACKfa0677d131achow101: ACKfa0677d131janb84: re ACKfa0677d131sipa: crACKfa0677d131Tree-SHA512: 1d9f43fc6e71d481cf7b8f8457f479745ee331734649e9e2c2ab00ce5d317112796c77afc328612ed004e65ac5c16fc92279d760cfb012cfddce9098c4af810f
This commit is contained in:
30 files changed
+49
-71
No files matched your search
@@ -189,8 +189,7 @@ void RecentRequestsTableModel::addNewRequest(const SendCoinsRecipient &recipient
|
||||
// called from ctor when loading from wallet
|
||||
void RecentRequestsTableModel::addNewRequest(const std::string &recipient)
|
||||
{
|
||||
std::vector<uint8_t> data(recipient.begin(), recipient.end());
|
||||
DataStream ss{data};
|
||||
SpanReader ss{MakeByteSpan(recipient)};
|
||||
|
||||
RecentRequestEntry entry;
|
||||
ss >> entry;
|
||||
|
||||
@@ -364,7 +364,7 @@ void TestGUI(interfaces::Node& node, const std::shared_ptr<CWallet>& wallet)
|
||||
std::vector<std::string> requests = walletModel.wallet().getAddressReceiveRequests();
|
||||
QCOMPARE(requests.size(), size_t{1});
|
||||
RecentRequestEntry entry;
|
||||
DataStream{MakeUCharSpan(requests[0])} >> entry;
|
||||
SpanReader{MakeByteSpan(requests[0])} >> entry;
|
||||
QCOMPARE(entry.nVersion, int{1});
|
||||
QCOMPARE(entry.id, int64_t{1});
|
||||
QVERIFY(entry.date.isValid());
|
||||
|
||||
Reference in new issue
Block a user