5a60c55be7
Don't add partial objects when allocation fails
...
Fixes #2081
2024-05-23 18:36:24 +02:00
f99b2d63f9
Make error message more readable in case of an invalid conversion
2024-05-23 14:01:30 +02:00
1db803bcd3
Add helpers for type traits, such as enable_if_t
2024-05-22 10:22:59 +02:00
04326d2655
Allow Converter<T>::toJson()
to return a boolean as an optimization
2024-05-22 09:27:15 +02:00
9e0c56acc3
Replace ConverterNeedsWriteableRef
with function_traits
2024-05-22 09:27:14 +02:00
60f9f7eff6
Move CollectionData::releaseSlot()
to ResourceManager::freeSlot()
2024-05-17 17:10:45 +02:00
0fe202af03
CI: don't build fuzzers with Clang 11
...
Clang 11 fails on GitHub Actions with the following error:
ERROR: UndefinedBehaviorSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Sanitizer CHECK failed: /build/llvm-toolchain-11-mnvtwk/llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp:54 ((0 && "unable to mmap")) != (0) (0, 0)
2024-05-16 17:47:07 +02:00
c41e8cc634
Add dev container for Clang 11
2024-05-16 17:47:07 +02:00
d486157a9e
CMake: fix detection of GCC 4.8
2024-05-16 17:47:07 +02:00
91aad55412
CI: set cancel-in-progress
to true
2024-05-16 17:47:07 +02:00
98fca74f66
Fix undefined reference to VariantPool::usage()
2024-05-16 17:47:07 +02:00
60fb268d9a
Fix UBSAN error "member call does not point to an object of type"
...
runtime error: member call on address XXX which does not point to an object of type 'Allocator'
XXX: note: object is of type 'SpyingAllocator'
This is due to the fact that some of the compilation units have different library settings, so a different namespace, and therefore a different `Allocator` class.
2024-05-16 17:47:07 +02:00
f1899d3049
Fix error resources_
may be used uninitialized
...
JsonArrayConst.hpp:29:56: error: 'array.ArduinoJson::V704HB22::JsonArrayConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
JsonObjectConst.hpp:62:56: error: 'null.ArduinoJson::V704HB22::JsonObjectConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2024-05-16 17:47:07 +02:00
4b779a7c1d
Fix wrong build flags when COVERAGE
is not defined
2024-05-16 17:47:07 +02:00
5d1aa04e21
CI: add Valgrind log to step summary
2024-05-16 17:47:07 +02:00
2f6db1edb0
CI: remove step summary
...
CTest errors were ignored in favor or `tee`'s exit code
2024-05-16 17:47:06 +02:00
aeb30ef307
Support ElementProxy
and MemberProxy
in JsonDocument
's constructor
2024-05-15 13:37:33 +02:00
1c5e5db071
Test JsonDocument
constructor with a JsonVariantConst
argument
...
See #2091
2024-05-15 09:30:22 +02:00
68a13117dc
Allow using a JsonVariant
as a key or index
...
Closes #2080
2024-05-14 21:06:02 +02:00
071f718473
MsgPack: test failing string allocation
2024-05-06 11:23:20 +02:00
00949f8276
Remove redundant test
2024-05-06 11:16:55 +02:00
2c670e0148
Implement MsgPackBinary using raw strings and converters
2024-05-06 11:10:02 +02:00
002b07f0c5
Reduce the size of deserializeMsgPack()
2024-05-02 20:29:00 +02:00
5f5f927693
Add tests of as<MsgPackBinary>()
2024-05-01 19:26:19 +02:00
4d074840da
Optimize deserializeMsgPack()
2024-05-01 18:00:59 +02:00
82de20ee14
Make string support even more generic
...
Ported from 57354de831
Closes #2084
2024-05-01 14:06:30 +02:00
ece4d030a8
CI: update runner for the lint
job
2024-04-29 19:38:18 +02:00
4d5c17b5f6
Remove unused #include
statements
2024-04-29 18:30:29 +02:00
18a9a5b590
Add MsgPack bin8/bin16/bin32 support
...
Closes #2078
Closes #922
2024-04-29 16:01:10 +02:00
cd4bf33132
Fix error "pasting X and Y does not give a valid preprocessing token"
2024-04-18 14:39:05 +02:00
2cfefe22ac
Add ARDUINOJSON_STRING_LENGTH_SIZE
to the namespace name
2024-04-18 14:19:43 +02:00
0d43e51d48
Fix typo in "endianness"
...
Closes #2071
2024-03-26 13:43:07 +01:00
ef28064317
CI: merge the two "amalgamate" jobs
2024-03-18 10:54:36 +01:00
7c62cdb264
CI: update GitHub Actions
2024-03-17 21:30:42 +01:00
0ab4bdd691
CI: add a workaround for actions/runner-images#9491
2024-03-17 21:30:42 +01:00
af8c615266
Rename tests/JsonObject/copy.cpp
to set.cpp
2024-03-16 14:02:56 +01:00
bd13375729
CI: add timeouts in the gcc
job
2024-03-14 10:27:09 +01:00
5f8502ce9d
Upgrade to lock-threads
version 5+
2024-03-14 09:51:44 +01:00
1404b1ef70
Add a workaround for particle-iot/particle-cli#716
2024-03-12 10:02:30 +01:00
36e1eecc7d
Set version to 7.0.4
v7.0.4
2024-03-12 09:40:46 +01:00
ca2f80aeaf
Add links to the documentation
2024-02-21 10:48:50 +01:00
f17fc055d3
Make JSON_STRING_SIZE(N)
return N+1
to fix third-party code
...
ThingsBoard uses this macro to compute size of char arrays ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/Helper.h#L38
Closes #2054
2024-02-18 20:00:25 +01:00
04ac53d114
Remove final
from JsonArray
, JsonObject
, and JsonVariant
...
`final` breaks ThingsBoard ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/RPC_Response.h#L10
See #2056 .
This reverts commit 483a2c9101
.
2024-02-18 20:00:24 +01:00
483a2c9101
Mark JsonArray
, JsonObject
, and JsonVariant
as final
...
See #2056
2024-02-18 10:52:07 +01:00
848c0cdc7e
Set version to 7.0.3
v7.0.3
2024-02-05 13:34:38 +01:00
46a807bd30
Remove unused NO_INLINE
2024-02-05 11:56:08 +01:00
cb0dc94db4
Remove most FORCE_INLINE
s
...
I kept only the ones that had a positive impact on code size AND no negative impact on stack memory.
Fixes #2046
2024-02-05 11:48:27 +01:00
72642e3090
Fix compatibility with GCC 4.8
...
Closes #2045
2024-02-01 21:37:45 +01:00
c98b05e207
Dont't inline JsonSerializer::visit(const ArrayData&)
...
It didn't improve the code size and was inconsistent with this other functions.
2024-02-01 10:24:01 +01:00
2a87cc5839
Stop using CollectionIterator
in MsgPackSerializer
...
This doesn't reduce code size or stack usage, but as least it's consistent with `JsonSerializer`.
2024-02-01 10:24:01 +01:00