Commit Graph

402 Commits

Author SHA1 Message Date
464c9b544c cJSON_DuplicateConfiguration 2018-02-03 16:42:58 +01:00
a0aa2df75a 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-02-03 16:42:58 +01:00
ba81437601 cJSON_CreateConfig: Don't allow configuration, always use default 2018-02-03 16:42:58 +01:00
d664199036 cJSON_ConfigurationChangeAllowDataAfterJson 2018-02-03 16:42:58 +01:00
7e4ac634c6 cJSON_ConfigurationChangeCaseSensitivity 2018-02-03 16:42:57 +01:00
1d9d2e8673 cJSON_ConfigurationChangeFormat 2018-02-03 16:42:57 +01:00
c4c52cfe58 cJSON_ConfigurationChangePrebufferSize 2018-02-03 16:42:57 +01:00
0474d4d85f 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-02-03 16:42:56 +01:00
95d333b5cf cJSON_CreateConfiguration, cJSON_ConfigurationChange{Allocators,Userdata} 2018-02-03 16:42:56 +01:00
d67ddd5c62 allocation helpers for allocating with a configuration 2018-02-03 16:42:56 +01:00
440ba84d08 Add cJSON_Allocators new style allocator struct 2018-02-03 16:42:56 +01:00
649af9c2c3 cJSON_Compare: Extract compare with internal_configuration 2018-02-03 16:42:43 +01:00
69f8bb7778 default_configuration: Macro for the internal_configuration defaults 2018-02-03 16:40:49 +01:00
99ad8cc64b internal_configuration: Add case_sensitive 2018-02-03 16:40:49 +01:00
47f4337604 cJSON_ParseWithOpts: Extract pasrse with internal_configuration
Also introduces a allow_data_after_json property in the internal
configuration.
2018-02-03 16:40:49 +01:00
772376ed92 cJSON_Delete: Extract delete_item with internal_configuration 2018-02-03 16:40:49 +01:00
04137f4ed1 Put buffer_size into internal_configuration 2018-02-03 16:40:48 +01:00
479909d0a6 Put format into internal_configuration 2018-02-03 16:40:48 +01:00
b277cd6a24 Rename internal_hooks -> internal_configuration, cJSON_New_item -> create_item 2018-02-03 16:40:48 +01:00
e82f32b359 cJSON_Compare: Performance improvement for objects
Check the size to prevent comparing objects equal if they are prefixes
of each other.
2018-02-03 15:56:36 +01:00
afc246f1d5 parse_value: Check only first character at first
This should improve performance
2018-01-31 10:31:14 +01:00
85f76baf0e print_number: Introduce fast path for integers.
Thanks @Tangerino for suggesting this optimisation.
2018-01-29 20:24:42 +01:00
3a36ce6d32 Extract helper: double_to_saturated_integer 2018-01-29 20:12:12 +01:00
deca87b071 is_nan and is_infinity macros 2018-01-20 15:45:21 +01:00
02641037b7 Fix #234: Different argument names between declaration and definition 2018-01-20 14:43:50 +01:00
1723a94b53 print: Comment about why the buffer is reallocated 2018-01-19 00:11:07 +01:00
b60b5d3744 Update version to 1.7.1 2018-01-09 21:59:42 +01:00
4d84acf926 print_number: fix Off-By-One error
Thanks @liuyunbin for reporting this in #230
2018-01-09 21:40:55 +01:00
28d4410f42 print: fix: realloc was allocating too much memory
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:53:33 +01:00
f33fa95f3d print: Fix default buffer size in printbuffer
Thanks @liuyunbin for reporting this in #230
2018-01-09 20:49:03 +01:00
13a2d337a8 Update version number to 1.7 2017-12-31 02:03:40 +01:00
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
de729a1635 Extract add_item_to_object function that returns a boolean 2017-12-28 21:40:24 +01:00
55c597c719 add_item_to_array with boolean return value 2017-12-28 12:45:28 +01:00
11844dd5a6 Add cJSON_Create{Array,Object}Reference 2017-11-28 03:06:02 +01:00
1f543f0e28 cast_away_const: Generalize for void* 2017-11-28 02:05:02 +01:00
eaa90a6b74 Add cJSON_CreateStringReference 2017-11-28 02:02:55 +01:00
440390a9a5 extract function cast_away_const_from_string 2017-11-28 01:54:21 +01:00
b2afbd3c9f cJSON_GetStringValue 2017-11-15 18:47:49 +01:00
fa00278f66 Remove trailing space 2017-11-04 21:19:15 +08:00
c083421f40 Release version 1.6.0 2017-10-08 23:36:41 +02:00
96c33e5abb ENABLE_LOCALES: Actually disable the include as well 2017-10-08 23:28:49 +02:00
97d7347a6e Merge branch 'develop' 2017-10-08 22:05:02 +02:00
9b960fa870 Small indentation fix in order to follow the contribution rules. 2017-10-08 22:02:52 +03:00
4f9e9dfc30 Fix for issue #202, regarding the lack of implementation of the localeconv method in some SDK's.
A macro named `ENABLE_LOCALES` was added and an option with the same name too in the CMakeLists.txt
2017-10-08 21:55:58 +03:00
afd5d186b7 Release version 1.5.9 2017-09-08 13:54:24 +02:00
629c354390 Rewrite test for cJSON_ParseWithOpts() to expect non-null error
pointer in error case and change code to match new expectations.
2017-09-08 01:22:10 +01:00
1925d1bbe5 Release version 1.5.8 2017-08-21 11:06:10 +02:00
88d66c5da9 Release version 1.5.7 2017-07-12 23:13:14 +02:00
954d61e5e7 Fix #189, ensure returns an invalid pointer
If realloc returns NULL, ensure didn't abort but returned
printbuffer.offset instead. If an attacker can control
printbuffer.offset and also make realloc fail at just the right moment,
this would make cJSON potentially write at an arbitrary memory address.
2017-07-12 23:02:31 +02:00