904 Commits

Author SHA1 Message Date
Max Bruckner
08738673be Reorder the context fields 2018-03-25 23:32:03 +02:00
Max Bruckner
1b001ab047 parse: Pull length calculation out. 2018-03-25 23:32:03 +02:00
Max Bruckner
409c2aaea7 cJSON_MakeDuplicateRecursive 2018-03-25 23:32:03 +02:00
Max Bruckner
e8f56bd194 Context: Add duplicate_recursive for cJSON_Duplicate 2018-03-25 23:32:03 +02:00
Max Bruckner
064eec8208 Change name from Configuration to Context 2018-03-25 23:32:03 +02:00
Max Bruckner
050f982608 cJSON_DuplicateConfiguration 2018-03-25 23:32:03 +02:00
Max Bruckner
d2d19127d3 cJSON_ConfigurationChangeParseEnd -> cJSON_ConfigurationGetParseEnd
This is probably a better approach than potentially having a pointer
that points to garbage on the stack and gets written to by cJSON.
2018-03-25 23:32:03 +02:00
Max Bruckner
691a83a479 cJSON_CreateConfig: Don't allow configuration, always use default 2018-03-25 23:32:03 +02:00
Max Bruckner
ae9dc3e7db cJSON_ConfigurationChangeAllowDataAfterJson 2018-03-25 23:32:03 +02:00
Max Bruckner
eeaaaac63e cJSON_ConfigurationChangeCaseSensitivity 2018-03-25 23:32:03 +02:00
Max Bruckner
78b5bed9a0 cJSON_ConfigurationChangeFormat 2018-03-25 23:32:03 +02:00
Max Bruckner
1a8f732749 cJSON_ConfigurationChangePrebufferSize 2018-03-25 23:32:03 +02:00
Max Bruckner
88c39fa2e4 cJSON_ConfigurationChangeParseEnd
Add a pointer to an end position of parsing to the cJSON_Configuration
object. (Essentially like return_parse_end, but as offset instead of
pointer).
2018-03-25 23:32:03 +02:00
Max Bruckner
9d801d64ea cJSON_CreateConfiguration, cJSON_ConfigurationChange{Allocators,Userdata} 2018-03-25 23:32:03 +02:00
Max Bruckner
877fac0f90 allocation helpers for allocating with a configuration 2018-03-25 23:32:03 +02:00
Max Bruckner
98e0b586ca Add cJSON_Allocators new style allocator struct 2018-03-25 23:32:03 +02:00
Max Bruckner
dd1ba72ce2 cJSON_Compare: Extract compare with internal_configuration 2018-03-25 23:32:03 +02:00
Max Bruckner
515d11f55a default_configuration: Macro for the internal_configuration defaults 2018-03-25 23:32:03 +02:00
Max Bruckner
ba8fe0f479 internal_configuration: Add case_sensitive 2018-03-25 23:32:03 +02:00
Max Bruckner
f02f79ecbb cJSON_ParseWithOpts: Extract pasrse with internal_configuration
Also introduces a allow_data_after_json property in the internal
configuration.
2018-03-25 23:32:03 +02:00
Max Bruckner
d4e81cfe57 cJSON_Delete: Extract delete_item with internal_configuration 2018-03-25 23:32:03 +02:00
Max Bruckner
7030dc7c5b Put buffer_size into internal_configuration 2018-03-25 23:32:03 +02:00
Max Bruckner
27977adc93 Put format into internal_configuration 2018-03-25 23:32:03 +02:00
Max Bruckner
677f0cb1bb Rename internal_hooks -> internal_configuration, cJSON_New_item -> create_item 2018-03-25 23:32:03 +02:00
Max Bruckner
3ebc06196a Gitignore: add CLion files 2018-03-25 23:31:36 +02:00
Max Bruckner
fd5281bdd8 cJSON: cjson_min: Wrap arguments in parentheses 2018-03-25 15:12:15 +02:00
Max Bruckner
1f4044a707 cJSON.c: Remove unused cast 2018-03-25 15:11:56 +02:00
Max Bruckner
08a2ad3c59 is_{nan,infinity}: Wrap macro arguments in parentheses 2018-03-25 14:25:46 +02:00
Max Bruckner
b06fb10f94 cJSON.c: Remove unnecessary includes 2018-03-25 14:20:48 +02:00
Max Bruckner
ce5f31ac47 Remove superfluous null checks in can_read/access_at_index macros 2018-03-25 13:01:49 +02:00
Max Bruckner
0715259635 cJSON_Compare: Performance improvement for objects
Check the size to prevent comparing objects equal if they are prefixes
of each other.
2018-03-25 13:01:10 +02:00
Max Bruckner
f4cc4d7c63 parse_value: Check only first character at first
This should improve performance
2018-03-25 13:01:10 +02:00
Max Bruckner
952b1017ab print_number: Introduce fast path for integers.
Thanks @Tangerino for suggesting this optimisation.
2018-03-25 13:01:10 +02:00
Max Bruckner
0914640d79 Extract helper: double_to_saturated_integer 2018-03-25 13:01:10 +02:00
Max Bruckner
5ed383a0d1 is_nan and is_infinity macros 2018-03-25 13:01:06 +02:00
Max Bruckner
3e2c29528a CMake: Remove -fsanitize=float-divide-by-zero
This is so that NaN and INFINITY values can be produced.
2018-03-25 13:00:12 +02:00
Max Bruckner
b2bbc11d44 Fix #234: Different argument names between declaration and definition 2018-03-25 13:00:12 +02:00
Max Bruckner
06f4152008 print: Comment about why the buffer is reallocated 2018-03-25 13:00:12 +02:00
Max Bruckner
0e0c463491 Release version 1.7.5 v1.7.5 2018-03-22 20:29:17 +01:00
Max Bruckner
2336a0348d Contributors: Add Bob Kocisko 2018-03-22 20:28:54 +01:00
Max Bruckner
5d50f4efe1 Contributors: Thank all the non-code contributors 2018-03-22 20:28:30 +01:00
Max Bruckner
8abf110750
Merge pull request #251 from bobkocisko/master
json patch: adding to a subfield of a non-object now fails as expected
2018-03-22 20:00:24 +01:00
Bob Kocisko
d26a42af8d json patch: adding to a subfield of a non-object now fails as expected 2018-03-22 11:10:29 -04:00
Max Bruckner
6f264b5d0c
Merge pull request #249 from DaveGamble/fix-add-item
Release 1.7.4
v1.7.4
2018-03-02 20:04:29 +01:00
Max Bruckner
5da9edc8b1 Release version 1.7.4 2018-03-02 19:57:36 +01:00
Max Bruckner
22a7d04fa0 add_item_to_object: Fix use-after-free when string is aliased
If the `string` property of the item that is added is an alias to the
`string` parameter of `add_item_to_object`, and `constant` is false,
`cJSON_strdup` would access the string after it has been freed.

Thanks @hhallen for reporting this in #248.
2018-03-02 19:49:55 +01:00
Max Bruckner
a559eac472 Release version 1.7.3 v1.7.3 2018-02-07 21:16:35 +01:00
Max Bruckner
d514bb866e Fix #241, potential double free 2018-02-07 19:36:59 +01:00
Max Bruckner
27caa364b0 Release version 1.7.2 v1.7.2 2018-02-06 11:38:41 +01:00
Max Bruckner
f47271f455 Fix pkgconfig and installation. Thanks @zeerd for reporting
CMAKE_INSTALL_FULL_... needs to be used.
2018-02-06 11:24:03 +01:00
Max Bruckner
7cc52f6035
Merge pull request #231 from DaveGamble/fixes
Release Version 1.7.1
v1.7.1
2018-01-09 22:34:48 +01:00
Max Bruckner
b60b5d3744 Update version to 1.7.1 2018-01-09 21:59:42 +01:00
Max Bruckner
4d84acf926 print_number: fix Off-By-One error
Thanks @liuyunbin for reporting this in #230
2018-01-09 21:40:55 +01:00
Max Bruckner
28d4410f42 print: fix: realloc was allocating too much memory
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:53:33 +01:00
Max Bruckner
f33fa95f3d print: Fix default buffer size in printbuffer
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:49:03 +01:00
Max Bruckner
984dc85a5f
Merge pull request #228 from DaveGamble/develop
Release Version 1.7.0
v1.7.0
2017-12-31 02:20:27 +01:00
Max Bruckner
13a2d337a8 Update version number to 1.7 2017-12-31 02:03:40 +01:00
Max Bruckner
17b83e76e9 Update Changelog for version 1.7 2017-12-31 02:01:53 +01:00
Max Bruckner
43754e7833
Merge pull request #215 from DaveGamble/new-documentation
New documentation
2017-12-31 01:43:11 +01:00
Max Bruckner
1e95363638 README: Caveats: Duplicate object members 2017-12-31 01:40:57 +01:00
Max Bruckner
d7e711c0de README: new doc: Add links for 4th level sections 2017-12-31 01:35:09 +01:00
Max Bruckner
f26d8f3175 README: Add small note about CMake on Windows. 2017-12-31 01:35:09 +01:00
Max Bruckner
e7d0c1dc37 Tests: Test if the readme examples are working 2017-12-31 01:35:09 +01:00
Max Bruckner
5605fa4ad5 README: new doc: Remove old explanation. 2017-12-31 01:35:08 +01:00
Max Bruckner
cdcd553769 README: new doc: Example 2017-12-31 01:35:08 +01:00
Max Bruckner
61dd7f1e41 README: new doc: Working with the data structure 2017-12-31 01:35:08 +01:00
Max Bruckner
1285e6ac68 README: new doc: Printing 2017-12-31 01:35:07 +01:00
Max Bruckner
b54b81251e README: new doc: Parsing 2017-12-31 01:35:05 +01:00
Max Bruckner
c31ee79ad1 README: new doc: Data Structure section 2017-12-31 01:26:41 +01:00
Max Bruckner
a1a1e60cb0
Merge pull request #226 from DaveGamble/boolean_add
Convert cJSON_Add..ToObject macros into functions with return values
2017-12-29 23:30:20 +01:00
Max Bruckner
1b21bcd150 cJSON_Add..ToObject: Add comment to header file 2017-12-29 23:29:09 +01:00
Max Bruckner
77931e7fc0 cJSON_Add...ToObject: Add tests for failure conditions 2017-12-29 23:26:53 +01:00
Max Bruckner
5865faffa3 Convert cJSON_Add...ToObject macros into functions
These functions return the added object. Functions to add objects and
arrays have also been added.
2017-12-28 23:56:39 +01:00
Max Bruckner
f966409b33 Add tests for cJSON_Add...ToObject macros 2017-12-28 22:56:57 +01:00
Max Bruckner
de729a1635 Extract add_item_to_object function that returns a boolean 2017-12-28 21:40:24 +01:00
Max Bruckner
55c597c719 add_item_to_array with boolean return value 2017-12-28 12:45:28 +01:00
Max Bruckner
2a087843e4 Add overrides for BUILD_SHARED_LIBS 2017-11-28 17:16:11 +01:00
Max Bruckner
eb7c681a4b Fix tests when building as static library 2017-11-28 16:44:24 +01:00
Max Bruckner
0476590a0c Update Unity to 2.4.3 2017-11-28 03:15:50 +01:00
Max Bruckner
da8c48668d Squashed 'tests/unity/' changes from 60b13f0..287e076
287e076 Post release
774da10 Merge pull request #296 from jlindgren90/master
629b86d Merge unity_setup.h into unity.h.
0914d80 Merge pull request #308 from codehearts/patch-1
5ee55fe Fix missing TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE
38c387b Merge pull request #304 from VLambret/master
17d4ea9 Color test results using ANSI escape codes
031b1ba Merge pull request #300 from jsalling/bugfix/greater-than
df78aad Make weak symbol usage more portable:
a7e8797 Fix link errors with MinGW.
94a3008 Update continuous integration to build 32-bit Unity
b119919 Add 64-bit comparison asserts
91bcbe1 Add 'greater/less or equal to' asserts on integers
8caade7 Fix bug in greater/less than asserts on unsigned int
1381a1a Update documentation.
2593c31 Allow suiteSetUp() and suiteTearDown() to be provided as normal C functions.
60def10 Update configuration docs

git-subtree-dir: tests/unity
git-subtree-split: 287e076962ec711cd2bdf08364a8df9ce51e106b
2017-11-28 03:15:50 +01:00
Max Bruckner
11844dd5a6 Add cJSON_Create{Array,Object}Reference 2017-11-28 03:06:02 +01:00
Max Bruckner
1f543f0e28 cast_away_const: Generalize for void* 2017-11-28 02:05:02 +01:00
Max Bruckner
eaa90a6b74 Add cJSON_CreateStringReference 2017-11-28 02:02:55 +01:00
Max Bruckner
440390a9a5 extract function cast_away_const_from_string 2017-11-28 01:54:21 +01:00
Max Bruckner
043507872e Update json-patch-tests 2017-11-20 22:04:57 +01:00
Max Bruckner
2718d30a3d Squashed 'tests/json-patch-tests/' changes from 0dd0fbc..99264bb
99264bb Merge pull request #37 from FormAPI/missing_parent_key
c2fae3a Added a test case to check replace op with a missing parent key

git-subtree-dir: tests/json-patch-tests
git-subtree-split: 99264bb634d32c03df7472f21afb7d3681d8619e
2017-11-20 22:04:57 +01:00
Max Bruckner
b2afbd3c9f cJSON_GetStringValue 2017-11-15 18:47:49 +01:00
Max Bruckner
27a4303f87 Contributors: Add yangfl 2017-11-04 14:26:50 +01:00
Max Bruckner
b5f2e5c540
Merge pull request #212 from yangfl/temp2
Remove trailing space
2017-11-04 14:24:47 +01:00
yangfl
fa00278f66 Remove trailing space 2017-11-04 21:19:15 +08:00
Max Bruckner
8412b1e2cd README: fixup last commit 2017-11-04 13:42:20 +01:00
Max Bruckner
35907223e1 README: Explain including cJSON, fix #211 2017-11-04 13:39:58 +01:00
Max Bruckner
8a11f8ce17
Merge pull request #210 from yangfl/upstream
CMakeLists.txt: swap GNUInstallDirs and project
2017-11-04 13:30:59 +01:00
yangfl
df1c49dba1 CMakeLists.txt: swap GNUInstallDirs and project 2017-11-04 20:14:56 +08:00
Max Bruckner
c083421f40 Release version 1.6.0 v1.6.0 2017-10-08 23:36:41 +02:00
Max Bruckner
96c33e5abb ENABLE_LOCALES: Actually disable the include as well 2017-10-08 23:28:49 +02:00
Max Bruckner
f437767fa9 Contributors: Add Simon Ricaldone and Casperinous 2017-10-08 23:13:30 +02:00
Max Bruckner
c51a19be51 CONTRIBUTING.md: Fix '4 tabs' -> '4 spaces' 2017-10-08 22:05:19 +02:00
Max Bruckner
97d7347a6e Merge branch 'develop' 2017-10-08 22:05:02 +02:00
Max Bruckner
28328a0b34 Merge pull request #203 from Casperinous/master
Fix for #202 issue.
2017-10-08 21:48:46 +02:00