mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
Merge #17324: Update univalue subtree
fa0b3da36c
Squashed 'src/univalue/' changes from 7890db99d6..5a58a46671 (MarcoFalke) Pull request description: Only change is a performance improvement. See https://github.com/bitcoin-core/univalue/pull/21#issue-333858474 and https://github.com/bitcoin-core/univalue/pull/15#issue-186748173 ACKs for top commit: jnewbery: ACKfa439e88af
laanwj: ACKfa439e88af
Tree-SHA512: 35ea8f76ea4806182949c8eb5a8b652d1aaeec03ee023838e7cb29abcb81c61d59b38f15708564a78574722df57d13f61ef17d0f670a4056819705ef892321e0
This commit is contained in:
commit
ddd46293bd
3 changed files with 6 additions and 18 deletions
|
@ -12,21 +12,10 @@ an arbitrary depth.
|
|||
This class is aligned with the JSON standard, [RFC
|
||||
7159](https://tools.ietf.org/html/rfc7159.html).
|
||||
|
||||
## Installation
|
||||
## Library usage
|
||||
|
||||
This project is a standard GNU
|
||||
[autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html)
|
||||
project. Build and install instructions are available in the `INSTALL`
|
||||
file provided with GNU autotools.
|
||||
|
||||
```
|
||||
$ ./autogen.sh
|
||||
$ ./configure
|
||||
$ make
|
||||
```
|
||||
|
||||
## Design
|
||||
|
||||
UniValue provides a single dynamic RAII C++ object class,
|
||||
and minimizes template use (contra json_spirit).
|
||||
This is a fork of univalue used by Bitcoin Core. It is not maintained for usage
|
||||
by other projects. Notably, the API may break in non-backward-compatible ways.
|
||||
|
||||
Other projects looking for a maintained library should use the upstream
|
||||
univalue at https://github.com/jgarzik/univalue.
|
||||
|
|
|
@ -47,7 +47,6 @@ public:
|
|||
std::string s(val_);
|
||||
setStr(s);
|
||||
}
|
||||
~UniValue() {}
|
||||
|
||||
void clear();
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ bool ParseInt32(const std::string& str, int32_t *out)
|
|||
errno = 0; // strtol will not set errno if valid
|
||||
long int n = strtol(str.c_str(), &endp, 10);
|
||||
if(out) *out = (int32_t)n;
|
||||
// Note that strtol returns a *long int*, so even if strtol doesn't report a over/underflow
|
||||
// Note that strtol returns a *long int*, so even if strtol doesn't report an over/underflow
|
||||
// we still have to check that the returned value is within the range of an *int32_t*. On 64-bit
|
||||
// platforms the size of these types may be different.
|
||||
return endp && *endp == 0 && !errno &&
|
||||
|
|
Loading…
Add table
Reference in a new issue