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
Max Bruckner
c45dc12fd7
Tests for typecheck functions
2017-02-26 21:54:01 +01:00
Max Bruckner
ed8dc53699
cJSON_Utils: Use new typecheck functions
2017-02-26 21:26:34 +01:00
Max Bruckner
c26d53f0d7
Helper function to check the type of an item
...
This is necessary, because you can get it wrong if you do it manually.
(when you forget the & 0xFF in the comparison)
2017-02-26 14:30:50 +01:00
Max Bruckner
29f312dd69
Merge pull request #118 from mjerris/parser
...
prevent read beyond end of buffer when string ends with malformed utf
2017-02-26 13:12:26 +01:00
Mike Jerris
72e6e23523
prevent read beyond end of buffer when string ends with malformed utf
2017-02-23 08:59:25 -06:00
Max Bruckner
501046247d
fix clang-sanitizer warnings
2017-02-21 15:08:36 +01:00
Max Bruckner
68cd0d4a11
cJSON.c: Pass allocation functions through internal functions
...
This is the first step in removing the global allocator functions. Every
internal function now only accesses its locally available set of
allocators.
2017-02-21 14:50:49 +01:00
Max Bruckner
56b819bfbc
tests: test cJSON_GetObjectItem and cJSON_GetObjectItemCaseSensitive
2017-02-21 11:17:08 +01:00
Max Bruckner
605422c60a
cJSON: New function cJSON_GetObjectItemCaseSensitive
2017-02-21 11:17:08 +01:00
Max Bruckner
cbbcc91498
tests: cJSON_ArrayForEach
2017-02-21 09:17:49 +01:00
Max Bruckner
b47d0e34ca
cJSON_ArrayForEach: Fix handling of NULL pointers
2017-02-21 09:17:34 +01:00
Max Bruckner
bc12c69b54
Merge pull request #114 from DaveGamble/simplify-print
...
Simplify print functions
2017-02-20 23:09:06 +01:00
Max Bruckner
1d42c9bc60
print_object: simplify code
2017-02-20 23:07:24 +01:00
Max Bruckner
b71db93e03
print_object: rename variables
2017-02-20 23:07:24 +01:00
Max Bruckner
6d5a7c8c40
print_array: simplify code
2017-02-20 23:07:24 +01:00
Max Bruckner
8c1ed3ab82
update: rename to update_offset and change offset directly
2017-02-20 23:07:24 +01:00
Max Bruckner
f16dd7e028
print_array: rename variables
2017-02-20 23:07:24 +01:00
Max Bruckner
08770fc246
print_value: rename variables
2017-02-20 23:07:23 +01:00
Max Bruckner
0ca8587acc
print_string_ptr: simplify code
2017-02-20 23:07:23 +01:00
Max Bruckner
88e38d042f
tests: print_string: test if NULL is printed as empty string
2017-02-20 23:07:23 +01:00
Max Bruckner
6a746a230a
print_string: Add more const
2017-02-20 23:07:23 +01:00
Max Bruckner
1e999352d3
print_string_ptr: rename variables
2017-02-20 23:07:23 +01:00
Max Bruckner
6815d96617
print_number: rename variables
2017-02-20 23:07:22 +01:00
Max Bruckner
61921498d0
print_number: remove special case for 0
...
Now that printbuffer is used for everything, it's not needed anymore.
2017-02-20 23:07:22 +01:00
Max Bruckner
4758d62fd4
Merge pull request #113 from DaveGamble/printbuffer-only
...
Always print with printbuffer
2017-02-20 23:06:58 +01:00
Max Bruckner
1bc1a9748a
Merge pull request #112 from DaveGamble/print-tests
...
Add tests for print functions
2017-02-20 11:15:53 +01:00
Max Bruckner
de36476092
tests: print_value
2017-02-20 11:11:02 +01:00
Max Bruckner
983a4cd286
tests: parse_objects: Fix name of test
2017-02-20 11:11:01 +01:00
Max Bruckner
b6abef94ff
tests: print_object
2017-02-20 11:11:01 +01:00
Max Bruckner
3d66766231
tests: print_array
2017-02-20 11:11:01 +01:00
Max Bruckner
924122904e
tests: print_number
2017-02-20 11:11:01 +01:00
Max Bruckner
87691a86e5
cJSON_SetNumberValue: Fix compiler warning with -Waddress
2017-02-20 11:11:01 +01:00
Max Bruckner
8aa324fdc8
tests: print_string
2017-02-20 11:11:01 +01:00
Max Bruckner
3c4d309f62
ensure: Don't accept empty printbuffers anymore
2017-02-19 04:20:21 +01:00
Max Bruckner
9bf531ca05
Remove printing without buffer
2017-02-19 04:16:57 +01:00
Max Bruckner
80354bdb06
cJSON_Print: Use printbuffer
2017-02-19 04:03:02 +01:00
Max Bruckner
fe2e0956ad
Merge pull request #111 from DaveGamble/fuzzing
...
partial build system integration of the afl fuzzing tool
2017-02-19 02:44:28 +01:00
Max Bruckner
cf71f3d627
fuzzing: script to prepare linux kernel for afl
2017-02-18 13:18:09 +01:00
Max Bruckner
da551c753f
fuzzing: Speed up afl using persistent mode (in proccess fuzzing)
2017-02-18 13:18:09 +01:00
Max Bruckner
ae4681b787
fuzzing: use llvm source code instrumentation
2017-02-18 13:18:08 +01:00
Max Bruckner
c5a09a32a9
fuzzing: Fuzz different print methods
...
This is achieved by encoding the type of function used in the first two
bytes.
First byte:
b: buffered
Second byte:
f: formatted
2017-02-18 13:18:08 +01:00
Max Bruckner
4785070ad3
fuzzing: Fuzz printing as well.
...
With one big limitation: It can only be fuzzed with what has been
parsed by the library beforehand.
2017-02-18 12:52:16 +01:00
Max Bruckner
0e0cd5bae5
CMake: Add ENABLE_FUZZING and "afl" target
2017-02-18 12:52:16 +01:00
Max Bruckner
44512f643e
Merge pull request #110 from DaveGamble/ensure-improvements
...
ensure improvements
2017-02-18 12:18:18 +01:00
Max Bruckner
331c18d09a
ensure: only memcopy what's necessary
...
We don't need to copy the entire printbuffer, only the part that is
used.
2017-02-18 12:07:17 +01:00
Max Bruckner
4fff92140e
ensure: use realloc if possible
2017-02-18 12:07:17 +01:00
Max Bruckner
fc1d4b07df
ensure: if printbuffer is null: cJSON_malloc
...
This allowed for the removal of a lot of if (p) checks.
2017-02-18 11:35:59 +01:00
Max Bruckner
bd073343fa
rename skip -> skip_whitespace
2017-02-17 19:37:31 +01:00
Max Bruckner
7c722dca5f
CMake: Add target "check" that builds and runs tests
2017-02-17 13:59:26 +01:00
Max Bruckner
4fce9cce86
Release version 1.3.0
v1.3.0
2017-02-17 01:42:02 +01:00
Max Bruckner
415962da34
Merge pull request #109 from DaveGamble/simplify-parse
...
Simplify parsing
2017-02-16 21:23:36 +01:00
Max Bruckner
b41264d164
Remove uint8_t because it's not part of C89
2017-02-16 21:22:43 +01:00
Max Bruckner
0f271dcf63
parse_hex4: make input pointer const
2017-02-16 21:02:26 +01:00
Max Bruckner
ead389aba2
parse_value: improve variable names + const correctness
2017-02-16 21:02:25 +01:00
Max Bruckner
698dc528f4
parse_object: improve variable names + const correctness
2017-02-16 21:02:25 +01:00
Max Bruckner
3dc6339025
parse_array: improve variable names + const correctness
2017-02-16 20:08:59 +01:00
Max Bruckner
15592c50f6
parse_number: improve variable names + const correctness
2017-02-16 20:02:18 +01:00
Max Bruckner
efb5e1bc93
parse_string: Improve const correctnes of pointers
2017-02-16 20:00:12 +01:00
Max Bruckner
ace5047782
parse_string: reduce mental burden when reading the code
...
This restructures parse_string in a way, that you need to keep less
state in your head to understand the code.
This is achieved by:
* only changing the input pointer (current position) at a few places
(not all throughout)
* splitting out the UTF16 handling into a separate function
* renaming the variables so you know what they do without additional
context
2017-02-16 19:49:03 +01:00
Max Bruckner
03f23738bb
parse_object: simplify to one do-while loop
2017-02-16 19:49:02 +01:00