Commit Graph

450 Commits

Author SHA1 Message Date
Roger Light
9735349087 Optimise while loop checks in parse_string
This gave an approximate 4% improvement in tests.
2023-08-10 10:13:46 +01:00
Roger Light
e64b984ddc Optimise string parsing when there are no escape characters
This resulted in approximately 40% reduction in instructions used in
parse_string() when parsing a 4MB JSON file, as measured in callgrind.
2023-08-10 10:13:46 +01:00
Roger Light
bb27ffa152 Parse least common datatype last
Null types are almost certainly the least common object, so putting the
check last in the list will be faster.

This gave an approximate 5% performance improvement in parse_value() in
tests.
2023-08-10 10:13:46 +01:00
Alan Wang
cb8693b058
Release 1.7.16 (#770)
* Update version to 1.7.16

* Update contributors
2023-07-05 11:22:19 +08:00
hopper-vul
766dd9d590
Fix a null pointer crash in cJSON_ReplaceItemViaPointer (#726)
If the parent passed in cJSON_ReplaceItemViaPointer has not a child, which means parent->child is null, a null pointer dereference crash will be happened inside cJSON_ReplaceItemViaPointer.

This commit adds the NULL check of `parent->child` beforehand to inform user such incorrect usage.

Signed-off-by: hopper-vul <hopper.vul@gmail.com>
2023-07-01 16:18:32 +08:00
Junbo Zheng
b45f48e600
fix: add allocate check for replace_item_in_object (#675)
Signed-off-by: Junbo Zheng <zhengjunbo1@xiaomi.com>
2022-03-29 15:02:59 +08:00
AlexanderVasiljev
d321fa9e6e
fix: print int without decimal places (#630) 2022-01-19 10:30:31 +08:00
Alan Wang
d348621ca9
chore: update version and changelog (#610) 2021-08-25 19:15:09 +08:00
Alan Wang
744e47353a
fix: remove redundant condition (#605) 2021-08-25 15:02:00 +08:00
Jordan IMBERT
9226e4ed8c
Remove always true condition in cJSON.c (#539) 2020-12-17 17:07:18 +08:00
Alan Wang
7b6645794d
Fix null pointer crash, closes #536 (#538) 2020-12-17 15:42:31 +08:00
mongobaba
2f6fc7f0f2
fix several null pointer problems on allocation failure (#526) 2020-11-12 11:46:15 +08:00
Use
9931900768 fix: windows build failure about defining nan 2020-10-15 11:52:06 +09:00
Alanscut
8e357f825b Update version to 1.7.14 2020-09-03 17:07:49 +08:00
Alanscut
c8ca78a3cc optimize the way to find tail node 2020-09-02 20:23:52 +08:00
Kevin Sapper
4578d3a9e1 Problem: WError error on macosx because NAN is a float
Solution: Add explicit cast from NAN to double
2020-06-23 09:17:32 +02:00
Alanscut
b95a4c56b0 fix #376 2020-06-22 11:23:24 +08:00
miaoerduo
cb4661cd91 fix: errors in replacing the first item when array_size is 1, and replacing the last item 2020-04-03 17:21:02 +08:00
miaoerduo
a65abf2f4f fix: error list head's prev when detach the last item 2020-04-03 17:20:57 +08:00
miaoerduo
3999b12848 feat: set list head's prev in parse_array and parse_object 2020-04-03 17:20:42 +08:00
Alanscut
ff0dabc72e Update version to 1.7.13 2020-04-02 23:34:28 +08:00
Alanscut
5d55c6c2ee fix error C2124 in visual studio 2020-04-02 23:32:30 +08:00
Alan Wang
23e4fbc639
Merge pull request #454 from Alanscut/float-compare
comparing double value with DBL_EPSILON
2020-04-02 20:09:42 +08:00
Alan Wang
65578af8cc
Merge pull request #453 from Alanscut/add-return-value
add return value for  cJSON_AddItemTo... and cJSON_ReplaceItemxxx
2020-04-02 19:41:56 +08:00
Alan Wang
f12cd7b701
Merge pull request #451 from Alanscut/20200324
add new function of `cJSON_SetValuestring`
2020-04-02 19:40:03 +08:00
Sang-Heon Jeon
97cf1d84e4 Add getNumberValue function
* Add GetNumberValue function and testcase

Co-authored-by: Alan Wang <wp_scut@163.com>
2020-04-02 19:36:35 +08:00
caglarivriz
983bb2b4d6 Added cJSON_ParseWithLength (#358)
Co-authored-by: Caglar Ivriz <caglar.ivriz@siemens.com>
2020-04-02 19:24:36 +08:00
Alanscut
8943c73345 comparing double value with DBL_EPSILON 2020-04-02 16:02:24 +08:00
Alanscut
131966f748 add return value for cJSON_ReplaceItemxxx 2020-04-02 11:00:10 +08:00
Alanscut
bd7cbe9776 false has been redefined to cJSON_False 2020-04-01 19:19:00 +08:00
Alanscut
54d6b8016e add return value for cJSON_AddItemTo... 2020-03-26 14:18:52 +08:00
Alanscut
31c7880fab update cJSON_SetValuestring and testcase 2020-03-25 15:38:54 +08:00
Alanscut
6b35f1c5bc add new function of setValuestringToObject 2020-03-24 22:28:15 +08:00
Alan Wang
3ece4c893c
Improve performance of adding item to array (#448)
* use prev pointer when adding item to array

Co-authored-by: xiaomianhehe <hongshaokai@hotmail.com>
Co-authored-by: Alanscut <scut@163.com>

Date:   Tue Feb 18 11:54:23 2020 +0800

* add testcase for cJSON_DeleteItemFromArray
2020-03-24 16:17:25 +08:00
Alan Wang
9034a9cd0b Revert "use prev pointer when array do adding (#430)"
This reverts commit e8077d0150.
2020-03-16 23:04:39 +08:00
xiaomianhehe
e8077d0150
use prev pointer when array do adding (#430)
* use prev pointer when array do adding
2020-02-18 11:54:23 +08:00
Alanscut
74b2f03837 remove annoying float-equal option 2020-01-18 23:18:19 +08:00
Alanscut
c06d8264d0 improve compare_double function 2019-12-06 18:16:27 +08:00
Alanscut
51f6b4c07e
Merge branch 'master' into master 2019-12-06 15:14:26 +08:00
rolegic
c64854b26e Fixed different argument between declaration and definition 2019-11-15 15:43:43 +01:00
Alanscut
18dad60035
Merge pull request #377 from Alanscut/20190628
fix bug: add const to the parameter in the cJSON_GetStringValue function
2019-10-20 22:47:11 +08:00
Alanscut
66d0a1793f
Merge pull request #395 from bjda/more_const
Add const qualifier to cJSON_CreateStringArray
2019-10-20 22:46:05 +08:00
Julian Ste
bcc91ecbc3
initilize variables in print_number 2019-10-19 13:53:21 +02:00
Bernt Johan Damslora
26772a8ef7 Add const qualifier to cJSON_CreateStringArray
Adds a const qualifier to the strings in the array to avoid discarding
it from arguments.
2019-10-17 14:03:15 +02:00
Alanscut
ae49da2b61
Revert "Replace strcpy with strncpy, sprintf with snprintf" 2019-09-21 17:42:25 +08:00
Alanscut
a3154a36f1
Merge pull request #388 from singku/secure_c
Replace strcpy with strncpy, sprintf with snprintf
2019-09-21 15:43:13 +08:00
Alanscut
9d766f07a7 fix const cast warnings in cJSON_GetStringValue 2019-06-28 14:22:02 +08:00
Sanjeev BA
110f184d18 Fix typos.
Signed-off-by: Sanjeev BA <iamsanjeev@gmail.com>
2019-06-16 07:58:03 +09:00
Paweł Malowany
c9e8a68b00 Fix clang -Wfloat-equal warning 2019-06-10 11:37:03 +02:00
singku
16f56300e4 Replace strcpy with strncpy, sprintf with snprintf 2019-05-29 21:25:33 +00:00