You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
faf55fc doc: Remove ParseInt mentions in documentation (MarcoFalke)
3333282 refactor: Remove unused Parse(U)Int* (MarcoFalke)
fa84e6c bitcoin-tx: Reject + sign in MutateTxDel* (MarcoFalke)
face251 bitcoin-tx: Reject + sign in vout parsing (MarcoFalke)
fa8acaf bitcoin-tx: Reject + sign in replaceable parsing (MarcoFalke)
faff25a bitcoin-tx: Reject + sign in locktime (MarcoFalke)
dddd9e5 bitcoin-tx: Reject + sign in nversion parsing (MarcoFalke)
fab06ac rest: Use SAFE_CHARS_URI in SanitizeString error msg (MarcoFalke)
8888bb4 rest: Reject + sign in /blockhashbyheight/ (MarcoFalke)
fafd43c test: Reject + sign when parsing regtest deployment params (MarcoFalke)
fa123af Reject + sign when checking -ipcfd (MarcoFalke)
fa47985 Reject + sign in SplitHostPort (MarcoFalke)
fab4c29 net: Reject + sign when parsing subnet mask (MarcoFalke)
fa89652 init: Reject + sign in -*port parsing (MarcoFalke)
fa9c455 cli: Reject + sign in -netinfo level parsing (MarcoFalke)
fa98041 refactor: Use ToIntegral in CreateFromDump (MarcoFalke)
fa23ed7 refactor: Use ToIntegral in ParseHDKeypath (MarcoFalke)
Pull request description:
The legacy int parsing is problematic, because it accepts the `+` sign for unsigned integers. In all cases this is either:
* Useless, because the `+` sign was already rejected.
* Erroneous and inconsistent, when third party parsers reject it. (C.f. bitcoin/bitcoin#32365)
* Confusing, because the `+` sign is neither documented, nor can it be assumed to be present.
Fix all issues by removing the legacy int parsing.
ACKs for top commit:
stickies-v:
re-ACK faf55fc
brunoerg:
code review ACK faf55fc
Tree-SHA512: a311ab6a58fe02a37741c1800feb3dcfad92377b4bfb61b433b2393f52ba89ef45d00940972b2767b213a3dd7b59e5e35d5b659c586eacdfe4e565a77b12b19f
Copy file name to clipboardExpand all lines: doc/developer-notes.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1009,10 +1009,6 @@ Strings and formatting
1009
1009
buffer overflows, and surprises with `\0` characters. Also, some C string manipulations
1010
1010
tend to act differently depending on platform, or even the user locale.
1011
1011
1012
-
- Use `ToIntegral` from [`strencodings.h`](/src/util/strencodings.h) for number parsing. In legacy code you might also find `ParseInt*` family of functions, `ParseDouble` or `LocaleIndependentAtoi`.
1013
-
1014
-
- *Rationale*: These functions do overflow checking and avoid pesky locale issues.
1015
-
1016
1012
- For `strprintf`, `LogInfo`, `LogDebug`, etc formatting characters don't need size specifiers.
1017
1013
1018
1014
- *Rationale*: Bitcoin Core uses tinyformat, which is type safe. Leave them out to avoid confusion.
0 commit comments