Commit Graph

1094 Commits

Author SHA1 Message Date
Max Bruckner 3d6ae11340 Make cJSON C++ compatible 2016-12-28 12:33:20 +01:00
Max Bruckner a1f2600883 Contributors: Add Romain Porte 2016-12-28 12:29:03 +01:00
Max Bruckner fcc85bdfbc Gitignore: Add Makefile output 2016-12-28 12:23:56 +01:00
Max Bruckner 7d08a3518a Merge pull request #88 from MicroJoe/fix-readme-tests
Fix bad CMake argument in README
2016-12-28 12:20:37 +01:00
Romain Porte cc486a0354 Fix bad CMake argument in README 2016-12-27 11:32:41 +01:00
Max Bruckner fcc89c4bb2 Move increment out of loop condition fixes #85 2016-12-15 11:12:42 +01:00
Max Bruckner a0431e226f Merge pull request #83 from gatzka/feature/cast_qual_v3
Introduce compiler check if const is casted away.
2016-12-08 21:59:32 +07:00
Stephan Gatzka 89edfb6741 Warn if cast removes a type qualifier like const. 2016-12-08 13:21:30 +01:00
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
Max Bruckner 5310da351d contributors: Add Alper Akcan 2016-12-06 09:01:12 +07:00
Max Bruckner 68196f5b14 Release version 1.1.0 2016-12-06 08:56:23 +07:00
Max Bruckner d992cd46e6 test: Handle cJSON_PrintPreallocated return values correctly 2016-12-06 08:47:44 +07:00
Max Bruckner 84b48121bb header: explain PrintPreallocated return value 2016-12-06 08:46:48 +07:00
Max Bruckner f10e2f884a test: exit on malloc failure 2016-12-06 08:41:51 +07:00
Max Bruckner eeb6d237b6 Merge pull request #81 from alperakcan/master
fix memory leak in cJSON_Duplicate
2016-12-06 08:36:47 +07:00
Alper Akcan 5b4420298f fix memory leak in cJSON_Duplicate 2016-12-05 14:23:04 +03:00
Max Bruckner e1eb06fae0 cJSON.h warn about write access to constants (#80)
Add a comment that warns about potential write access to constant memory
locations after using cJSON_AddItemToObjectCS.
2016-11-30 22:14:16 +07:00
Max Bruckner 6aefa45056 Merge pull request #79 from gatzka/fix/test
Make print_preallocated static.
2016-11-29 08:19:33 +07:00
Stephan Gatzka 345d57e9e5 Make print_preallocated static.
Otherwise compilation failes due to missing prototypes.
2016-11-28 20:21:38 +01:00
Max Bruckner 3da18a2df9 contributors: Add Kyle Chisholm 2016-11-29 00:01:21 +07: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 3917fb5255 use print_preallocated function to test printout of JSON 2016-11-28 22:59:55 +07:00
Kyle Chisholm 99896d879c function to print and compare to preallocated buffer 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 602c241a0b fixed "make test" on Mac (clang) 2016-11-28 22:53:36 +07:00
Kyle Chisholm 23dafa4739 added Print function call for pre-allocated buffer 2016-11-28 22:53:33 +07:00
Max Bruckner 59cf4112d2 Merge pull request #78 from gatzka/feature/gcc_check_strict_overflow_v2
gcc check strict overflow v2
2016-11-28 22:29:03 +07:00
Stephan 5cfda2292f Warn if compiler optimizes based on asumption signed overflow does not occur.
This switch is only active when making a release build.
2016-11-28 09:12:17 +01: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 624bc85143 contributors: add Stephan Gatzka 2016-11-28 01:03:04 +07:00
Max Bruckner 1f0ad823c9 Merge pull request #75 from gatzka/feature/enhance_gcc_checks_v2
Enhance gcc checks v2
2016-11-28 00:58:45 +07:00
Stephan Gatzka 29b6643bab Warn about missing prototypes.
This switch warns about missing prototypes. It does not warn if
functions are declared static. So this switch encourages the usage of
static whenever possible. This enables the compiler to perform inlining.
2016-11-27 18:22:12 +01:00
Stephan Gatzka a8e1368697 Make function static when possible.
This is a prerequisite to later enable -Wmissing-prototypes.
2016-11-27 18:20:58 +01:00
Stephan Gatzka bea0be48b6 Perform additional format checks. 2016-11-27 18:20:41 +01:00
Stephan Gatzka 91d11cd050 Warn if casting a pointer increases alignment of target. 2016-11-27 18:19:52 +01:00
Stephan Gatzka 9591ecddbe Warn about variables initialized by themselves. 2016-11-27 18:19:07 +01:00
Stephan Gatzka 1568015de6 Warn about shadowing variables and functions. 2016-11-27 18:18:00 +01:00
Stephan Gatzka 7ed067e680 Rename some variables to avoid shadowing. 2016-11-27 18:16:28 +01:00
Max Bruckner 4703f01cf4 Make/CMake: Fix use of compiler flags
CMake: Option was not enabled by default as intended.
Makefile: Flags were not passed when building the tests
2016-11-26 22:09:20 +07:00
Max Bruckner d0a9f46888 Release v1.0.2 2016-11-25 08:22:41 +07:00
Max Bruckner 23b269d5f9 Rename bool -> cjbool, fix #71 2016-11-25 08:19:18 +07:00
Max Bruckner 11fd27ade7 Change version to 1.0.1 2016-11-20 01:08:54 +07:00
Max Bruckner 65ac0a1a2b cJSON_Utils tests: fix formatting 2016-11-19 17:50:01 +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 d47339e274 cJSON_Utils: Fix comparing of cJSON_ types
When comparing the type, it has to be masked with 0xFF because of
cJSON_IsConst and cJSON_IsReference.
2016-11-18 22:52:52 +07:00