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
|
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
|
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 |
|