Commit Graph

174 Commits

Author SHA1 Message Date
b182ced1d6 Compiler flag -Wswitch-default + add defaults 2017-02-03 12:21:36 +01:00
fe18403935 Compiler flag -Wundef + fix incorrect macro 2017-02-03 12:14:50 +01:00
c49ffbfba8 cJSON_Version: returns a version string
This is useful to programmatically find out the version of cJSON that
has been used (useful in case of scripting language bindings for
example).
2017-01-12 20:37:29 +01:00
e3e0b5150b cJSON_CreateRaw: Format fixes 2017-01-05 21:33:52 +01:00
1df987a170 cJSON_strdup: Check for NULL string 2017-01-05 21:31:17 +01:00
ddadb44a67 cJSON_Raw: Additional checks in print_value 2017-01-05 21:30:37 +01:00
8c58e62597 Merge remote-tracking branch 'loigu/master' into cJSON_Raw 2017-01-05 21:07:08 +01:00
fcc89c4bb2 Move increment out of loop condition fixes #85 2016-12-15 11:12:42 +01:00
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
5b4420298f fix memory leak in cJSON_Duplicate 2016-12-05 14:23:04 +03:00
bf17703012 Merge branch 'print_preallocated' 2016-11-28 23:08:25 +07:00
6622c54f18 Handle out of memory when printing string 2016-11-28 23:06:38 +07:00
8df4cd46eb more concise return 2016-11-28 22:59:55 +07:00
4d1dcaa160 check print_value return 2016-11-28 22:59:54 +07:00
de93d76d0b changed to cJSON_PrintPreallocated, added flag in printbuffer 2016-11-28 22:59:53 +07:00
23dafa4739 added Print function call for pre-allocated buffer 2016-11-28 22:53:33 +07:00
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
23b269d5f9 Rename bool -> cjbool, fix #71 2016-11-25 08:19:18 +07:00
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
b88da9b0de Initialize all variables 2016-11-19 17:29:21 +07:00
a5ff796c20 Replace 0 with more expressive NULL or '\0' 2016-11-19 17:28:14 +07:00
dc4b62915a fix #10, now failing on incorrect escape sequences 2016-11-14 19:33:03 +07:00
afd690d1c9 format fix 2016-11-14 19:14:14 +07:00
06008b0444 add support to insert raw json 2016-11-14 11:20:10 +01:00
0d10e279c8 fix #55 memory leak in cJSON_ReplaceItemInObject 2016-11-11 11:53:14 +07:00
a148520ffb Revert "Fix #26: Use long double literal for 1e60"
This reverts commit 3ea491c0a6.
2016-11-08 00:53:16 +07:00
b4d728d018 pow2gt: Detect integer size fix #27 2016-11-07 20:09:58 +07:00
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
4d06882c68 Merge pull request #44 from iMobs/arm_compilation
ARM Compilation
2016-11-01 08:42:45 +07:00
5323f558cd don't ignore malloc failure in cJSON_PrintBuffered 2016-10-31 10:54:34 +11:00
a1c022fef6 Merge pull request #37 from DaveGamble/reformatting
Reformat cJSON_Utils.c and test.c
2016-10-29 22:52:55 +07:00
ddeca82718 reformatting: cJSON.c: fix indentation 2016-10-29 22:44:45 +07:00
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
d4836effc9 Fix compiler warning "array subscript has type char" when using arm-none-eabi-gcc 2016-10-17 17:20:57 -07:00
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
34388c2d4c reformatting: cJSON_Minify 2016-10-02 19:04:30 +07:00
9adc6e7fe1 reformatting: cJSON_Duplicate 2016-10-02 19:04:30 +07:00
e6fd236f00 reformatting: cJSON_CreateStringArray 2016-10-02 19:04:29 +07:00
e272f7285e reformatting: cJSON_CreateDoubleArray 2016-10-02 19:04:29 +07:00
890b999e59 reformatting cJSON_CreateFloatArray 2016-10-02 19:04:29 +07:00
f831aef5c1 reformatting: cJSON_CreateIntArray 2016-10-02 19:04:28 +07:00
21a0a88f19 reformatting: cJSON_CreateObject 2016-10-02 19:04:28 +07:00
e241081020 reformatting: cJSON_CreateArray 2016-10-02 19:04:28 +07:00
034003ce2b reformatting: cJSON_CreateString 2016-10-02 19:04:28 +07:00
3f9f4970b4 reformatting: cJSON_CreateNumber 2016-10-02 19:04:27 +07:00
99f61f2b35 reformatting: cJSON_CreateBool 2016-10-02 19:04:27 +07:00
a0b5d6b13a reformatting: cJSON_CreateFalse 2016-10-02 19:04:27 +07:00
fdfb9fff86 reformatting: cJSON_CreateTrue 2016-10-02 19:04:27 +07:00
cf7835b67d reformatting: cJSON_CreateNull 2016-10-02 19:04:26 +07:00
3a8043273e reformatting: cJSON_ReplaceItemInObject 2016-10-02 19:04:26 +07:00