Commit Graph

165 Commits

Author SHA1 Message Date
Stephan
e69db83de5 Temporarily disable warning when const is cast away.
There was a long running discussion here
https://github.com/DaveGamble/cJSON/pull/80 how to provide const
correctness for users of cJSON.

To avoid breaking changes for users of cJSON v1 it was decided to
disable this warning.

pragma was tested with gcc 5.4.0/6.2.1 and clang 3.8/3.9.
2016-12-08 13:21:18 +01:00
Alper Akcan
5b4420298f fix memory leak in cJSON_Duplicate 2016-12-05 14:23:04 +03:00
Max Bruckner
bf17703012 Merge branch 'print_preallocated' 2016-11-28 23:08:25 +07:00
Max Bruckner
6622c54f18 Handle out of memory when printing string 2016-11-28 23:06:38 +07:00
Kyle Chisholm
8df4cd46eb more concise return 2016-11-28 22:59:55 +07:00
Kyle Chisholm
4d1dcaa160 check print_value return 2016-11-28 22:59:54 +07:00
Kyle Chisholm
de93d76d0b changed to cJSON_PrintPreallocated, added flag in printbuffer 2016-11-28 22:59:53 +07:00
Kyle Chisholm
23dafa4739 added Print function call for pre-allocated buffer 2016-11-28 22:53:33 +07:00
Stephan
038b04d80a Take out len from condition check.
Otherwise, the check is just undefined behaviour. gcc even takes out
this check because len can never be zero if len does not wrap around.

Found with -Wstrict-overflow=2
2016-11-28 09:11:14 +01:00
Max Bruckner
23b269d5f9 Rename bool -> cjbool, fix #71 2016-11-25 08:19:18 +07:00
Max Bruckner
679004914f Define a boolean type
This is not changing the behavior of the code, but it is improving the
readability and helps to make the intention clearer.

One thing to take care: 'true' should never be compared against.
2016-11-19 17:29:22 +07:00
Max Bruckner
b88da9b0de Initialize all variables 2016-11-19 17:29:21 +07:00
Max Bruckner
a5ff796c20 Replace 0 with more expressive NULL or '\0' 2016-11-19 17:28:14 +07:00
Max Bruckner
dc4b62915a fix #10, now failing on incorrect escape sequences 2016-11-14 19:33:03 +07:00
Max Bruckner
afd690d1c9 format fix 2016-11-14 19:14:14 +07:00
Max Bruckner
0d10e279c8 fix #55 memory leak in cJSON_ReplaceItemInObject 2016-11-11 11:53:14 +07:00
Max Bruckner
a148520ffb Revert "Fix #26: Use long double literal for 1e60"
This reverts commit 3ea491c0a6.
2016-11-08 00:53:16 +07:00
Max Bruckner
b4d728d018 pow2gt: Detect integer size fix #27 2016-11-07 20:09:58 +07:00
Max Bruckner
3ea491c0a6 Fix #26: Use long double literal for 1e60
Big thanks at mvollmer (https://sourceforge.net/p/cjson/bugs/45/)
2016-11-05 21:26:18 +07:00
Max Bruckner
4d06882c68 Merge pull request #44 from iMobs/arm_compilation
ARM Compilation
2016-11-01 08:42:45 +07:00
Rod Vagg
5323f558cd don't ignore malloc failure in cJSON_PrintBuffered 2016-10-31 10:54:34 +11:00
Max Bruckner
a1c022fef6 Merge pull request #37 from DaveGamble/reformatting
Reformat cJSON_Utils.c and test.c
2016-10-29 22:52:55 +07:00
Max Bruckner
ddeca82718 reformatting: cJSON.c: fix indentation 2016-10-29 22:44:45 +07:00
Jonathan Fether
9f00ff9a91 Remove redundant test from cJSON_AddItemToArray
The test for whether "c" is null is redundant.  Since this is the else case of "(!c)", and the only way "c" is changed is by the instruction assigning it "c->next" on the condition here, simply verifying that "c->next" isn't null is sufficient.
2016-10-27 20:02:44 -07:00
Ian Mobley
d4836effc9 Fix compiler warning "array subscript has type char" when using arm-none-eabi-gcc 2016-10-17 17:20:57 -07:00
Ian Mobley
b393b3beeb Add const qualifier for non-destructive functions
Functions like cJSON_Print do not and should not modify the object passed
to them.
2016-10-07 15:42:11 -07:00
Max Bruckner
34388c2d4c reformatting: cJSON_Minify 2016-10-02 19:04:30 +07:00
Max Bruckner
9adc6e7fe1 reformatting: cJSON_Duplicate 2016-10-02 19:04:30 +07:00
Max Bruckner
e6fd236f00 reformatting: cJSON_CreateStringArray 2016-10-02 19:04:29 +07:00
Max Bruckner
e272f7285e reformatting: cJSON_CreateDoubleArray 2016-10-02 19:04:29 +07:00
Max Bruckner
890b999e59 reformatting cJSON_CreateFloatArray 2016-10-02 19:04:29 +07:00
Max Bruckner
f831aef5c1 reformatting: cJSON_CreateIntArray 2016-10-02 19:04:28 +07:00
Max Bruckner
21a0a88f19 reformatting: cJSON_CreateObject 2016-10-02 19:04:28 +07:00
Max Bruckner
e241081020 reformatting: cJSON_CreateArray 2016-10-02 19:04:28 +07:00
Max Bruckner
034003ce2b reformatting: cJSON_CreateString 2016-10-02 19:04:28 +07:00
Max Bruckner
3f9f4970b4 reformatting: cJSON_CreateNumber 2016-10-02 19:04:27 +07:00
Max Bruckner
99f61f2b35 reformatting: cJSON_CreateBool 2016-10-02 19:04:27 +07:00
Max Bruckner
a0b5d6b13a reformatting: cJSON_CreateFalse 2016-10-02 19:04:27 +07:00
Max Bruckner
fdfb9fff86 reformatting: cJSON_CreateTrue 2016-10-02 19:04:27 +07:00
Max Bruckner
cf7835b67d reformatting: cJSON_CreateNull 2016-10-02 19:04:26 +07:00
Max Bruckner
3a8043273e reformatting: cJSON_ReplaceItemInObject 2016-10-02 19:04:26 +07:00
Max Bruckner
dc8eb30467 reformatting: cJSON_ReplaceItemInArray 2016-10-02 19:04:26 +07:00
Max Bruckner
69dcfcf238 reformatting: cJSON_InsertItemInArray 2016-10-02 19:04:26 +07:00
Max Bruckner
207bb05e8c reformatting: cJSON_DeleteItemFromObject 2016-10-02 19:04:25 +07:00
Max Bruckner
96ec74c9d5 reformatting: cJSON_DetachItemFromObject 2016-10-02 19:04:25 +07:00
Max Bruckner
6e5063f9cc reformatting: cJSON_DeleteItemFromArray 2016-10-02 19:04:25 +07:00
Max Bruckner
c636621779 reformatting: cJSON_DetachItemFromArray 2016-10-02 19:04:25 +07:00
Max Bruckner
b602ef1cd5 reformatting: cJSON_AddItemReferenceToObject 2016-10-02 19:04:24 +07:00
Max Bruckner
55e33d7100 reformatting: cJSON_AddItemReferenceToArray 2016-10-02 19:04:24 +07:00
Max Bruckner
b55120eeb2 reformatting: cJSON_AddItemToObjectCS 2016-10-02 19:04:24 +07:00