- 12 Sep, 2019 1 commit
-
-
Etienne Laurin authored
-
- 17 Dec, 2018 2 commits
- 12 Dec, 2018 2 commits
-
-
ylavic authored
Speed is more important than alphabetical order (which makes few sense in JSON in general, and with pointers especially). The use case is indexing in std containers, i.e. O(log n) with rbtree, so the faster comparison the better.
-
ylavic authored
I must be too dumb to understand the mess MSVC (32bit only) did with the previous loop, and to figure out how it might have make it never end. Anyway, hopefully any compiler can grok this new loop...
-
- 10 Dec, 2018 1 commit
-
-
ylavic authored
-
- 06 Dec, 2018 1 commit
-
-
ylavic authored
Until Read() reaches EOF, Peek4() must not take off by one in bufferLast_ into account; otherwise a buffer of size exactly 4 always returns NULL.
-
- 05 Dec, 2018 3 commits
-
-
ylavic authored
-
ylavic authored
-
ylavic authored
On (my) linux, perftest reports: - ~40% gain for FileReadStream (Take() loop), - ~10% gain for ReaderParse_DummyHandler_FileReadStream. With the same logic applied to BasicIStreamWrapper, which thus can now also be created with a user buffer, performances align with those of FileReadStream (same buffer size). The "unbuffered" versions (added for FileReadStream) work solely with the internal peekBuffer (Ch[4]) and are measured in perftest. When performances don't matter much, they can avoid the use of large stack/heap buffers.
-
- 03 Dec, 2018 1 commit
-
-
ylavic authored
-
- 01 Nov, 2018 1 commit
-
-
Philipp A. Hartmann authored
Co-Authored-By: yhager <yhager@users.noreply.github.com>
-
- 26 Oct, 2018 1 commit
-
-
Yuval Hager authored
-
- 08 Oct, 2018 1 commit
-
-
Lele Gaifax authored
See issue #1368.
-
- 05 Aug, 2018 1 commit
-
-
Lele Gaifax authored
-
- 03 Aug, 2018 1 commit
-
-
Lele Gaifax authored
-
- 31 Jul, 2018 1 commit
-
-
Veselin Georgiev authored
Update RAPIDJSON_ALIGN() to always align on an 8-byte boundary unless otherwise overridden. On some platforms (such as ARM), 64-bit items (such as doubles and 64-bit integers) must be aligned to an 8 byte address, even though the architecture is only 32-bits. On these platforms, MemoryPoolAllocator must match the malloc() behavior and return a 8 byte aligned allocation. This eliminates any alignment issues that may occur at the expense of additional memory overhead. Failure to do so caused a SIGBUS signal when calling GenericValue::SetNull(). The size of the data_ member of the GenericValue class is 16 bytes in 32-bit mode and its constructor requires an 8-byte aligned access. While parsing a JSON formatted string using Document::ParseStream(), a stack object containing GenericValue items was constructed. Since the stack was 8-byte aligned, the constructor calls would succeed. When the lifetime of the object ends, SetObjectRaw() is invoked. This triggered an allocation with 4-byte alignment to which the previously 8-byte aligned GenericValue array was copied. After this, any call to a GenericValue API that triggered the constructor and thus the placement new operation on the Data type member would trigger a SIGBUS. Signed-off-by: Veselin Georgiev <veselin.georgiev@garmin.com> Signed-off-by: Joshua Watt <Joshua.Watt@garmin.com>
-
- 17 Jul, 2018 1 commit
-
-
Minmin Gong authored
-
- 15 Jul, 2018 2 commits
-
-
Philipp A Hartmann authored
GCC 7 and later warn about overflow/truncation when using sprintf and related functions with fixed-size buffers. Suppress the warning in schematest.cpp.
-
Philipp A Hartmann authored
GCC 8 (incorrectly) warns about sign conversions in (constant) array size expressions: error: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Werror=sign-conversion] char schemaBuffer_[128 * 1024]; Make these expressions unsigned by adding a 'u' suffix to the first operands.
-
- 10 Jul, 2018 1 commit
-
-
Christopher Warrington authored
Sometimes, particularly when Microsoft's windows.h is included, min/max are defined as macros, interfering with use of std::numeric_limits::min() and the like. To guard against this, the function name is wrapped in an extra set of parenthesis, which inhibits function-style macro expansion. This is a similar commit to 6e38649e, but fixes uses of std::numeric_limits added after that commit, like those introduced in 2ea43433.
-
- 16 Jun, 2018 6 commits
- 15 Jun, 2018 5 commits
- 01 Jun, 2018 1 commit
-
-
bogaotory authored
again, in relation to solving issue #784, use `SizeType`-typed variable to indicate a none-zero length string has been given in the schema as default value for the json property; added an unittest `Object_Required_PassWithDefault`
-
- 16 May, 2018 1 commit
-
-
Florin Malita authored
When parsing negative exponents, the current implementation takes precautions for |exp| to not underflow int. But that is not sufficient: later on [1], |exp + expFrac| is also stored to an int - so we must ensure that the sum stays within int representable values. Update the exp clamping logic to take expFrac into account. [1] https://github.com/Tencent/rapidjson/blob/master/include/rapidjson/reader.h#L1690
-
- 11 May, 2018 3 commits
-
-
John Stiles authored
-
John Stiles authored
-
John Stiles authored
-
- 09 Apr, 2018 1 commit
-
-
Zoltan Kovago authored
-
- 26 Mar, 2018 2 commits
-
-
Christian Semmler authored
-
Christian Semmler authored
-