882 Commits

Author SHA1 Message Date
Max Bruckner
218b0c8dcf cJSON_Print: Use reallocate if available
This can reduce worst case peak memory usage by 30% depending on the
realloc implementation.
2017-04-08 17:56:28 +02:00
Max Bruckner
281df6997c Update copyright 2017-04-08 17:56:27 +02:00
Max Bruckner
bc0bb7c224 parse_with_opts: test return_parse_end 2017-04-08 17:56:27 +02:00
Max Bruckner
56a32f9ecc Use error_position instead of error pointer internally 2017-04-08 17:56:27 +02:00
Max Bruckner
770e8263a5 tests for cJSON_ParseWithOpts 2017-04-08 17:56:27 +02:00
Max Bruckner
2683589d93 parser: Construct error pointer from buffer offset 2017-04-08 17:56:26 +02:00
Max Bruckner
c837177a56 utf16_literal_to_utf8: Support \u0000 2017-04-08 17:56:26 +02:00
Max Bruckner
80bc7652ae cJSON_ParseWithOptions: Remove end pointer 2017-04-08 17:56:26 +02:00
Max Bruckner
87a204ed0b parse_functions: Return booleans instead of pointers 2017-04-08 17:56:26 +02:00
Max Bruckner
c9739c59fd Replace strchr with switch case
This should improve performance and improve readability.
2017-04-08 17:56:25 +02:00
Max Bruckner
778a0c146f parse_string: Use parsebuffer 2017-04-08 17:56:25 +02:00
Max Bruckner
f69b109c9f parse_number: Use parse_buffer 2017-04-08 17:56:25 +02:00
Max Bruckner
fef1c45b92 parse_object: Use parse_buffer 2017-04-08 17:56:25 +02:00
Max Bruckner
033a542532 parse_array: Use parsebuffer 2017-04-08 17:56:25 +02:00
Max Bruckner
fd0320cf54 parse_value: Use parse_buffer 2017-04-08 17:56:24 +02:00
Max Bruckner
0f98214e71 parsebuffer: type and macros 2017-04-08 17:56:24 +02:00
Max Bruckner
06a2326e3b cJSON_ParseWithOpts: Use goto fail 2017-04-08 17:56:24 +02:00
Max Bruckner
11131b9ced cJSON_ParseWithOptions: Improve variable names and intent 2017-04-08 17:56:24 +02:00
Max Bruckner
99db5db9a4 Release version 1.4.6 v1.4.6 2017-04-08 17:54:55 +02:00
Max Bruckner
bb5ab5916f Merge pull request #147 from DaveGamble/copy-paste-msvc
Fix copy pasting with MSVC
2017-04-08 17:26:02 +02:00
Max Bruckner
411c50f671 Don't redefine CJSON_EXPORT_SYMBOLS 2017-04-08 16:39:35 +02:00
Max Bruckner
ec2db50b6f dllexport symbols by default and add CJSON_IMPORT_SYMBOLS
This should fix copy pasting of the C and header files with the MSVC
compiler.
2017-04-08 15:54:14 +02:00
Max Bruckner
74d0525201 Merge pull request #146 from DaveGamble/locale-independence
Locale independence
2017-04-08 14:46:22 +02:00
Max Bruckner
3efef58c32 README: Add setlocale to caveats 2017-04-08 03:50:22 +02:00
Max Bruckner
65541b900c Update space requirements of cJSON_PrintPreallocated 2017-04-08 03:42:44 +02:00
Max Bruckner
c08f7e1d29 print_number: Make locale independent
This first prints the number into a temporary buffer and then copies the
number to the output.

A positive side effect is that cJSON no longer reserves more space for
the number in the output than is necessary.
2017-04-08 03:38:49 +02:00
Max Bruckner
71b96afc27 print_number: Fix comment (missing word 'zeroes') 2017-04-08 02:46:24 +02:00
Max Bruckner
749fefc0c4 Make parse_number locale independent 2017-04-08 02:41:36 +02:00
Max Bruckner
50b3c30dfa README: Add Caveats section 2017-04-08 02:19:27 +02:00
Max Bruckner
c784f76c77 cJSON_strdup: Use sizeof("") instead of 1 2017-04-08 01:29:19 +02:00
Max Bruckner
84237ff48e Replace sizeof('\0') with sizeof("")
Because sizeof('\0') is actually sizeof(int) not sizeof(char).
2017-04-08 01:29:19 +02:00
Max Bruckner
ab8489a851 Readme: Fix #143 item->name --> item->string 2017-04-06 09:56:23 +02:00
Max Bruckner
795c3acabe cJSON_Utils: Fix potential null pointer dereference
Found by coverity
2017-04-05 17:36:25 +02:00
Max Bruckner
2683d4d987 ensure: Fix overflow detection 2017-04-05 16:35:55 +02:00
Max Bruckner
3c1bfe125c Clarify deprecation of valueint 2017-04-02 23:24:53 +02:00
Max Bruckner
5916f70640 cJSON.h: Deprecate valueint 2017-04-01 22:56:04 +02:00
Max Bruckner
29cfc7a767 README: Get rid of valueint and do necessary checks 2017-04-01 22:24:48 +02:00
Max Bruckner
b1e9a6c0da README: Add missing round brackets 2017-04-01 22:24:27 +02:00
Max Bruckner
3a20692c18 Release version 1.4.5 v1.4.5 2017-03-28 17:39:39 +02:00
Max Bruckner
2f65e80a34 Fix internal compiler error in GCC on x86 2017-03-28 17:32:20 +02:00
Max Bruckner
ef34500693 cJSON_SetNumberHelper: Fix valueint, closes #138
Thanks @mmkeeper
2017-03-28 17:29:52 +02:00
Max Bruckner
b0dfcde04c Release Version 1.4.4 v1.4.4 2017-03-23 22:13:25 +01:00
Max Bruckner
1934059554 ensure: Validate buffer offset 2017-03-23 22:01:38 +01:00
Max Bruckner
cc84a446be ensure: Fix potential off by one error. 2017-03-23 22:01:16 +01:00
Max Bruckner
e58f7ec027 ensure: Fix potential overflow of size_t
This could only happen if the maximum SIZE_T is not at least 2 times
bigger than INT_MAX. Not sure if this can happen on real systems, but
better be safe then sorry.
2017-03-23 20:26:29 +01:00
Max Bruckner
4bfb880093 cJSON.h: Note about buffer size for cJSON_PrintPreallocated 2017-03-22 16:39:10 +01:00
Max Bruckner
b7ce06224b Release version 1.4.3 v1.4.3 2017-03-19 11:05:33 +01:00
Max Bruckner
227d3398d6 Fix the pragmas for Wcast-qual with old gcc versions 2017-03-18 17:52:33 +01:00
Max Bruckner
466eb8e3f8 Fix wconversion with old gcc (e.g. 4.3) 2017-03-18 17:52:04 +01:00
Max Bruckner
4ec6e76ea2 tests: print_number: Fix build on 32bit ppc (and potentially others) 2017-03-18 13:25:18 +01:00
Max Bruckner
a1b37d0abe Release Version 1.4.2 v1.4.2 2017-03-16 01:28:23 +01:00
Max Bruckner
3d971db426 README: Mention supported cmake and make versions 2017-03-16 01:25:57 +01:00
Max Bruckner
30e1e7af7c CMake: Support cmake down to 2.8.5 2017-03-16 01:09:26 +01:00
Max Bruckner
76e5296d0d CMake: Fix per target disabling of compiler flags
The compiler flag detection was working incorrectly.
2017-03-16 00:22:53 +01:00
Max Bruckner
c597601cf1 tests: run cJSON_test{,_utils} along with the other tests 2017-03-15 20:11:19 +01:00
Max Bruckner
e3d5798896 Release version 1.4.1 v1.4.1 2017-03-15 20:11:19 +01:00
Max Bruckner
cf1842dc6f fix: print_number didn't abort when out of memory 2017-03-15 00:09:45 +01:00
Max Bruckner
030d0c14cc Merge branch 'develop' (Release 1.4.0) v1.4.0 2017-03-03 23:26:52 +01:00
Max Bruckner
02cd3eec37 Update version number to 1.4.0 2017-03-03 23:21:53 +01:00
Max Bruckner
bdb59f09de Add contributing guideline 2017-03-03 22:14:11 +01:00
Max Bruckner
5f783fff11 cJSON_Utils: Add gcc pragma to use default visibility for system headers 2017-03-03 00:45:50 +01:00
Max Bruckner
7969af6434 Merge pull request #124 from DaveGamble/print-bool-return
Print functions: Return boolean values instead of pointers
2017-03-03 00:42:01 +01:00
Max Bruckner
0bb1843925 print_value: return as soon as possible 2017-03-03 00:40:02 +01:00
Max Bruckner
5ea4fad263 print_string: return boolean instead of pointer 2017-03-03 00:33:11 +01:00
Max Bruckner
1749de02f8 print_number: return boolean instead of pointer 2017-03-03 00:26:58 +01:00
Max Bruckner
748f4bfd4f print_object: return boolean instead of pointer 2017-03-03 00:21:34 +01:00
Max Bruckner
bea1d102fd print_array: return boolean instead of pointer 2017-03-03 00:16:54 +01:00
Max Bruckner
d441fa05b3 print_value: return boolean instead of pointer 2017-03-03 00:11:43 +01:00
Max Bruckner
3fe72cf2b8 fuzzing: afl.c: Fix printing usage 2017-03-02 23:57:05 +01:00
Max Bruckner
d8d0ae66d3 print_number: Fix incorrect output pointer 2017-03-02 23:57:01 +01:00
Max Bruckner
9d07917feb utf16_literal_to_utf8: Eliminate Duff's Device
This fixes -Wimplicit-fallthrough warnings with GCC7.
2017-03-02 13:46:31 +01:00
Max Bruckner
2c45ad7816 Squashed 'tests/unity/' changes from 2988e98..1f52255
1f52255 Merge pull request #267 from FSMaxB/fix-wconversion
7bce0b4 Fix warning with ubsan and -Wconversion
b5da224 Merge pull request #266 from FSMaxB/fix-double-promotion
1bf22d3 Fix warnings with -Wdouble-promotion

git-subtree-dir: tests/unity
git-subtree-split: 1f522558a6c4577aa937341bf856ba3b1436768a
2017-03-01 23:20:30 +01:00
Max Bruckner
ad5abf4c5b Update unity with fixes for compiler warnings 2017-03-01 23:20:30 +01:00
Max Bruckner
6405fd15e3 CMake: Set default visibility to hidden and dllexport on windows 2017-03-01 23:19:35 +01:00
Max Bruckner
b44c917be9 tests/common: use CJSON_PUBLIC 2017-03-01 23:16:19 +01:00
Max Bruckner
2d3520e0b9 Use own cJSON_bool boolean type in the header 2017-03-01 22:50:12 +01:00
Max Bruckner
2e118df0cd tests/common.h: Remove unused prototype 2017-03-01 22:47:45 +01:00
Max Bruckner
412f4f7d62 Use CJSON_PUBLIC for typecheck functions 2017-03-01 22:47:45 +01:00
Max Bruckner
0aea75fbda Merge pull request #123 from DaveGamble/trim-numbers
Remove traling zeroes when printing floating point numbers
2017-03-01 18:38:48 +01:00
Max Bruckner
0c0dd4a5b0 tests: test trim_trailing_zeroes 2017-03-01 18:29:01 +01:00
Max Bruckner
dd4cb5400f print_number: Remove unnecessary integer handling 2017-03-01 13:28:27 +01:00
Max Bruckner
1ea72f8260 print_number: Remove trailing zeroes (for doubles) 2017-03-01 13:22:32 +01:00
Max Bruckner
e78bc42362 print_number: Return buffer + offset instead of beginning of the number 2017-03-01 13:00:52 +01:00
Max Bruckner
6f271e511f print_number: Use sprintf's return value
This is used to update the buffer offset and determine success
2017-03-01 12:56:32 +01:00
Max Bruckner
bee069b4e7 Merge pull request #122 from DaveGamble/more-compiler-flags
Add more compiler flags
2017-03-01 12:30:12 +01:00
Max Bruckner
1e0bd24f2c Revert "unity: make it work with -Wconversion"
This reverts commit 12acc57967aef0c859e2a0a877b7a1530faad068.
2017-03-01 11:57:07 +01:00
Max Bruckner
5cf56fa4fa Add -Wparentheses compile option 2017-03-01 11:57:07 +01:00
Max Bruckner
3f349a4258 Add -Wdouble-promotion compiler flag 2017-03-01 11:57:07 +01:00
Max Bruckner
40e3781e9b CMake: Disable -Werror for Unity 2017-03-01 11:57:07 +01:00
Max Bruckner
b056d7cb74 Add -Wcomma compiler flag 2017-03-01 11:57:06 +01:00
Max Bruckner
1f422b586a Squashed 'tests/unity/' changes from 1782bab..2988e98
2988e98 Merge pull request #262 from codehearts/patch-2
1732698 Fixed incorrect TEST_PROTECT explanation in readme
3817375 Merge pull request #260 from jeremyhannon/parseUnityFixtureOutputToJUnitFormat
9d5159f Merge pull request #261 from codehearts/patch-1
65ce727 Fixed typo for TEST_PROTECT in readme
4dc04d3 Enhance parseOutput.rb to support Unity fixture output

git-subtree-dir: tests/unity
git-subtree-split: 2988e980fbc2252fa4290b608517d4ae25cd9a46
2017-03-01 09:23:18 +01:00
Max Bruckner
899529e866 Update unity 2017-03-01 09:23:18 +01:00
Max Bruckner
2837aac23e Contributors: Add Mike Jerris 2017-02-28 23:04:29 +01:00
Max Bruckner
c66d95d116 Release bugfix release 1.3.2 v1.3.2 2017-02-28 21:43:02 +01:00
Max Bruckner
cb6df3ffad Merge pull request #121 from ffontaine/master
Do not build unity library if tests are disabled
2017-02-28 21:34:29 +01:00
Fabrice Fontaine
695d8a01a9 Do not build unity library if tests are disabled
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2017-02-28 20:48:04 +01:00
Max Bruckner
024f690289 Merge pull request #116 from mjerris/fschanges
add CJSON_DECLARE macros to support gcc visibility and windows dllexport
2017-02-27 21:51:55 +01:00
Mike Jerris
039b1cc653 add CJSON_PUBLIC macro to public functions to support visibility and dllimport/dllexport 2017-02-27 13:47:06 -06:00
Max Bruckner
c0ff1fef9b Release 1.3.1 v1.3.1 2017-02-26 22:04:22 +01:00
Max Bruckner
2302f4f0b2 Merge pull request #120 from DaveGamble/typecheck-functions
Typecheck functions
2017-02-26 22:00:28 +01:00