refactor: Preserve const in cast on CTransactionSignatureSerializer#21906
Closed
promag wants to merge 1 commit intobitcoin:masterfrom
Closed
refactor: Preserve const in cast on CTransactionSignatureSerializer#21906promag wants to merge 1 commit intobitcoin:masterfrom
promag wants to merge 1 commit intobitcoin:masterfrom
Conversation
vasild
approved these changes
May 11, 2021
theStack
approved these changes
May 16, 2021
maflcko
reviewed
May 17, 2021
| while (scriptCode.GetOp(it, opcode)) { | ||
| if (opcode == OP_CODESEPARATOR) { | ||
| s.write((char*)&itBegin[0], it-itBegin-1); | ||
| s.write(reinterpret_cast<const char*>(&itBegin[0]), it-itBegin-1); |
Member
There was a problem hiding this comment.
There is a safe helper CharCast and UCharCast, that can be used.
Though, I have a patch (Bundle 2/2 of #21969) to remove char completely.
Contributor
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Contributor
Author
|
Closing in favour of #22167. |
laanwj
added a commit
to bitcoin-core/gui
that referenced
this pull request
Jan 27, 2022
…alize fa5d2e6 Remove unused char serialize (MarcoFalke) fa24493 Use spans of std::byte in serialize (MarcoFalke) fa65bbf span: Add BytePtr helper (MarcoFalke) Pull request description: This changes the serialize code (`.read()` and `.write()` functions) to take a `Span` instead of a pointer and size. This is a breaking change for the serialize interface, so at no additional cost we can also switch to `std::byte` (instead of using `char`). The benefits of using `Span`: * Less verbose and less fragile code when passing an already existing `Span`(-like) object to or from serialization The benefits of using `std::byte`: * `std::byte` can't accidentally be mistaken for an integer The goal here is to only change serialize to use spans of `std::byte`. If needed, `AsBytes`, `MakeUCharSpan`, ... can be used (temporarily) to pass spans of the right type. Other changes that are included here: * [#22167](bitcoin/bitcoin#22167) (refactor: Remove char serialize by MarcoFalke) * [#21906](bitcoin/bitcoin#21906) (Preserve const in cast on CTransactionSignatureSerializer by promag) ACKs for top commit: laanwj: Concept and code review ACK fa5d2e6 sipa: re-utACK fa5d2e6 Tree-SHA512: 08ee9eced5fb777cedae593b11e33660bed9a3e1711a7451a87b835089a96c99ce0632918bb4666a4e859c4d020f88fb50f2dd734216b0c3d1a9a704967ece6f
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It was casting from
const unsigned char*tochar*.