Max Bruckner
2683d4d987
ensure: Fix overflow detection
2017-04-05 16:35:55 +02:00
Max Bruckner
3a20692c18
Release version 1.4.5
2017-03-28 17:39:39 +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
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
b7ce06224b
Release version 1.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
a1b37d0abe
Release Version 1.4.2
2017-03-16 01:28:23 +01:00
Max Bruckner
e3d5798896
Release version 1.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)
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
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
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
6405fd15e3
CMake: Set default visibility to hidden and dllexport on windows
2017-03-01 23:19:35 +01:00
Max Bruckner
2d3520e0b9
Use own cJSON_bool boolean type in the header
2017-03-01 22:50:12 +01:00
Max Bruckner
412f4f7d62
Use CJSON_PUBLIC for typecheck functions
2017-03-01 22:47:45 +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
3f349a4258
Add -Wdouble-promotion compiler flag
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
c66d95d116
Release bugfix release 1.3.2
2017-02-28 21:43:02 +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
2017-02-26 22:04:22 +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
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
605422c60a
cJSON: New function cJSON_GetObjectItemCaseSensitive
2017-02-21 11:17:08 +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
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
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
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
4fce9cce86
Release version 1.3.0
2017-02-17 01:42:02 +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
Max Bruckner
24dbf29360
parse_array: simplify to one do-while loop
2017-02-16 19:49:02 +01:00
Max Bruckner
12b2daccf3
parse_{object,array}: set child only after parsing
...
This only attaches the parsed linked lists to the items passed to
parse_object and parse_array.
2017-02-16 01:03:43 +01:00
Max Bruckner
f8d0c47bdb
Remove unnecessary assignment and silence clang analyzer
2017-02-16 00:31:57 +01:00
Max Bruckner
9f6fa94c91
ensure: replace pow2gt with multiplication by two
...
This replaces the bit fiddling involved with calculating a new buffer
size by just multiplying the required length by two, paving the way to a
complete switch to size_t at a later point in time.
2017-02-16 00:23:38 +01:00
Max Bruckner
123bb1af7b
cJSON: prevent incompatible C and header versions
...
Introduces a preprocessor directive that aborts the compilation if the
version numbers in the header don't match with the numbers in the c
file.
2017-02-15 23:21:50 +01:00
Max Bruckner
cf862d0fed
implement AddItemToObject using AddItemToObjectCS
2017-02-15 21:46:24 +01:00
Max Bruckner
3facca4792
parse functions: Only set type after successful
...
This sets the type of an item only if parsing was successful.
This means that in case of failure, the item's type will remain to be
cJSON_Invalid.
2017-02-15 21:25:48 +01:00
Max Bruckner
702fd95af3
fix #106 : potentially invalid free in cJSON_AddItemToObject
2017-02-15 20:45:23 +01:00
Max Bruckner
94117a5d23
Fix #105 , double free when parse_string fails
...
This fixes a double free that happens when calling cJSON_Delete on an
item that has been used by parse_string and it failed parsing the
string.
The double free happens, because parse_string frees an alias of
item->valuestring, but doesn't set item->valuestring to NULL.
2017-02-15 15:37:38 +01:00
Max Bruckner
4047de4f6e
fix potential NULL dereferences found by coverity
2017-02-08 03:00:44 +01:00
Max Bruckner
87f77274de
cJSON_SetNumberValue: Fix undefined double to int conversion
...
This might cause slight changes in behavior, but it shouldn't break
anything that is not already broken (for example the original macro
could either return a double, or an integer or whatever depending on if
object is NULL or not.)
2017-02-07 21:23:36 +01:00
Max Bruckner
dded751757
parse_string: remove useless first byte marks for utf8
2017-02-07 21:23:36 +01:00
Max Bruckner
d7b5545748
parse_hex4: deduplicate into a for loop
2017-02-07 21:23:36 +01:00
Max Bruckner
0747669972
parse_number: Switch to C library's strtod
...
Replaces the hand written floating point parser with the C library
implementation.
2017-02-07 21:23:36 +01:00
Max Bruckner
cc514583cc
cJSON_Duplicate: goto fail error handling
...
Simplify error handling using goto fail and improve some names.
2017-02-07 20:59:55 +01:00
Max Bruckner
021b174ee1
parse_object: goto fail error handling
...
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
2017-02-07 20:59:55 +01:00
Max Bruckner
99cd9af7d5
parse_array: goto fail error handling
...
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
2017-02-07 20:59:55 +01:00
Max Bruckner
8656386c4f
parse_string: goto fail error handling
...
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
2017-02-07 20:59:55 +01:00
Max Bruckner
9ed906758e
fix null pointer dereferences found by coverity
2017-02-07 19:07:18 +01:00
Max Bruckner
ee0c920dff
fix: add break in UTF-16 handling
...
Introducing the switch defaults in an earlier commit made UTF-16 \u
sequence handling broken.
2017-02-04 01:54:56 +01:00
Max Bruckner
af6d5d3d7c
Add more consts to unsigned chars
2017-02-03 22:41:14 +01:00
Max Bruckner
cf9d57d56c
Fix incorrect return
2017-02-03 20:34:37 +01:00
Max Bruckner
3d3bfc6a4d
Compiler flag -Wconversion
...
Makes type conversions explicit, if they alter a value
2017-02-03 18:36:13 +01:00
Max Bruckner
41e2837df1
Fix potentially undefined behavior when filling valueint
...
If the number is bigger or smaller than the biggest or smallest integer,
the behavior would be undefined.
This commit defines it as saturation behavior.
2017-02-03 18:36:13 +01:00
Max Bruckner
ecd5678527
Change all internal sizes to size_t
2017-02-03 18:36:12 +01:00
Max Bruckner
28b9ba4334
Change all internal strings to unsigned char*
2017-02-03 15:59:00 +01:00
Max Bruckner
b182ced1d6
Compiler flag -Wswitch-default + add defaults
2017-02-03 12:21:36 +01:00
Max Bruckner
fe18403935
Compiler flag -Wundef + fix incorrect macro
2017-02-03 12:14:50 +01:00
Max Bruckner
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
Max Bruckner
e3e0b5150b
cJSON_CreateRaw: Format fixes
2017-01-05 21:33:52 +01:00
Max Bruckner
1df987a170
cJSON_strdup: Check for NULL string
2017-01-05 21:31:17 +01:00
Max Bruckner
ddadb44a67
cJSON_Raw: Additional checks in print_value
2017-01-05 21:30:37 +01:00
Max Bruckner
8c58e62597
Merge remote-tracking branch 'loigu/master' into cJSON_Raw
2017-01-05 21:07:08 +01:00
Max Bruckner
fcc89c4bb2
Move increment out of loop condition fixes #85
2016-12-15 11:12:42 +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
Alper Akcan
5b4420298f
fix memory leak in cJSON_Duplicate
2016-12-05 14:23:04 +03: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
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
23dafa4739
added Print function call for pre-allocated buffer
2016-11-28 22:53:33 +07: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
23b269d5f9
Rename bool -> cjbool, fix #71
2016-11-25 08:19:18 +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
dc4b62915a
fix #10 , now failing on incorrect escape sequences
2016-11-14 19:33:03 +07:00
Max Bruckner
afd690d1c9
format fix
2016-11-14 19:14:14 +07:00
Jiri Zouhar
06008b0444
add support to insert raw json
2016-11-14 11:20:10 +01:00
Max Bruckner
0d10e279c8
fix #55 memory leak in cJSON_ReplaceItemInObject
2016-11-11 11:53:14 +07:00
Max Bruckner
a148520ffb
Revert "Fix #26 : Use long double literal for 1e60"
...
This reverts commit 3ea491c0a6
.
2016-11-08 00:53:16 +07:00
Max Bruckner
b4d728d018
pow2gt: Detect integer size fix #27
2016-11-07 20:09:58 +07:00
Max Bruckner
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
Max Bruckner
4d06882c68
Merge pull request #44 from iMobs/arm_compilation
...
ARM Compilation
2016-11-01 08:42:45 +07:00
Rod Vagg
5323f558cd
don't ignore malloc failure in cJSON_PrintBuffered
2016-10-31 10:54:34 +11:00
Max Bruckner
a1c022fef6
Merge pull request #37 from DaveGamble/reformatting
...
Reformat cJSON_Utils.c and test.c
2016-10-29 22:52:55 +07:00
Max Bruckner
ddeca82718
reformatting: cJSON.c: fix indentation
2016-10-29 22:44:45 +07:00
Jonathan Fether
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
Ian Mobley
d4836effc9
Fix compiler warning "array subscript has type char" when using arm-none-eabi-gcc
2016-10-17 17:20:57 -07:00
Ian Mobley
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
Max Bruckner
34388c2d4c
reformatting: cJSON_Minify
2016-10-02 19:04:30 +07:00
Max Bruckner
9adc6e7fe1
reformatting: cJSON_Duplicate
2016-10-02 19:04:30 +07:00
Max Bruckner
e6fd236f00
reformatting: cJSON_CreateStringArray
2016-10-02 19:04:29 +07:00
Max Bruckner
e272f7285e
reformatting: cJSON_CreateDoubleArray
2016-10-02 19:04:29 +07:00
Max Bruckner
890b999e59
reformatting cJSON_CreateFloatArray
2016-10-02 19:04:29 +07:00
Max Bruckner
f831aef5c1
reformatting: cJSON_CreateIntArray
2016-10-02 19:04:28 +07:00
Max Bruckner
21a0a88f19
reformatting: cJSON_CreateObject
2016-10-02 19:04:28 +07:00
Max Bruckner
e241081020
reformatting: cJSON_CreateArray
2016-10-02 19:04:28 +07:00
Max Bruckner
034003ce2b
reformatting: cJSON_CreateString
2016-10-02 19:04:28 +07:00
Max Bruckner
3f9f4970b4
reformatting: cJSON_CreateNumber
2016-10-02 19:04:27 +07:00
Max Bruckner
99f61f2b35
reformatting: cJSON_CreateBool
2016-10-02 19:04:27 +07:00
Max Bruckner
a0b5d6b13a
reformatting: cJSON_CreateFalse
2016-10-02 19:04:27 +07:00
Max Bruckner
fdfb9fff86
reformatting: cJSON_CreateTrue
2016-10-02 19:04:27 +07:00
Max Bruckner
cf7835b67d
reformatting: cJSON_CreateNull
2016-10-02 19:04:26 +07:00
Max Bruckner
3a8043273e
reformatting: cJSON_ReplaceItemInObject
2016-10-02 19:04:26 +07:00
Max Bruckner
dc8eb30467
reformatting: cJSON_ReplaceItemInArray
2016-10-02 19:04:26 +07:00
Max Bruckner
69dcfcf238
reformatting: cJSON_InsertItemInArray
2016-10-02 19:04:26 +07:00
Max Bruckner
207bb05e8c
reformatting: cJSON_DeleteItemFromObject
2016-10-02 19:04:25 +07:00
Max Bruckner
96ec74c9d5
reformatting: cJSON_DetachItemFromObject
2016-10-02 19:04:25 +07:00
Max Bruckner
6e5063f9cc
reformatting: cJSON_DeleteItemFromArray
2016-10-02 19:04:25 +07:00
Max Bruckner
c636621779
reformatting: cJSON_DetachItemFromArray
2016-10-02 19:04:25 +07:00
Max Bruckner
b602ef1cd5
reformatting: cJSON_AddItemReferenceToObject
2016-10-02 19:04:24 +07:00
Max Bruckner
55e33d7100
reformatting: cJSON_AddItemReferenceToArray
2016-10-02 19:04:24 +07:00
Max Bruckner
b55120eeb2
reformatting: cJSON_AddItemToObjectCS
2016-10-02 19:04:24 +07:00
Max Bruckner
196885ad93
reformatting: cJSON_AddItemToObject
2016-10-02 19:04:24 +07:00
Max Bruckner
c26f9b918d
reformatting: cJSON_AddItemToArray
2016-10-02 19:04:23 +07:00
Max Bruckner
09545c0eb2
reformatting: create_reference
2016-10-02 19:04:23 +07:00
Max Bruckner
17e13946fe
reformatting: cJSON_HasObjectItem
2016-10-02 19:04:23 +07:00
Max Bruckner
af44d57007
reformatting: cJSON_GetObjectItem
2016-10-02 19:04:23 +07:00
Max Bruckner
05c2dc3c2f
reformatting: cJSON_GetArrayItem
2016-10-02 19:04:22 +07:00
Max Bruckner
4fdb6499f0
reformatting: cJSON_GetArraySize
2016-10-02 19:04:22 +07:00
Max Bruckner
31e53a1297
reformatting: print_object
2016-10-02 19:04:22 +07:00
Max Bruckner
25632fad13
reformatting: parse_object
2016-10-02 19:04:22 +07:00
Max Bruckner
782770c6ba
reformatting: print_array
2016-10-02 19:04:21 +07:00
Max Bruckner
ad711e6fab
reformatting: parse_array
2016-10-02 19:04:21 +07:00
Max Bruckner
a9f752e034
reformatting: print_value: 255 -> 0xFF
2016-10-02 19:04:21 +07:00
Max Bruckner
de4dc19e72
reformatting: print_value
2016-10-02 19:04:21 +07:00
Max Bruckner
c5f635d24a
reformatting: parse_value
2016-10-02 19:04:20 +07:00
Max Bruckner
9b7eb6a46d
reformatting: cJSON_PrintBuffered
2016-10-02 19:04:20 +07:00
Max Bruckner
ec46581b68
reformatting: cJSON_PrintUnformatted
2016-10-02 19:04:20 +07:00
Max Bruckner
1748902d3c
reformatting: cJSON_Print
2016-10-02 19:04:20 +07:00
Max Bruckner
f36d9c9ef2
reformatting: cJSON_Parse
2016-10-02 19:04:19 +07:00
Max Bruckner
e809022349
reformatting: cJSON_ParseWithOpts
2016-10-02 19:04:19 +07:00
Max Bruckner
f1dd51bfb5
reformatting: skip
2016-10-02 19:04:19 +07:00
Max Bruckner
d42febea50
reformatting: Predeclared print prototypes
2016-10-02 19:04:18 +07:00
Max Bruckner
7423692586
reformatting: print_string
2016-10-02 19:04:18 +07:00
Max Bruckner
c71cd6cc1c
reformatting: print_string_ptr
2016-10-02 19:04:18 +07:00
Max Bruckner
c88d045888
reformatting: parse_string
2016-10-02 19:04:16 +07:00
Max Bruckner
2e2dc873b2
reformatting: firstByteMark
2016-10-02 19:01:27 +07:00
Max Bruckner
e10f2bf08d
reformatting: parse_hex4
2016-10-02 19:01:27 +07:00
Max Bruckner
67845e3dc6
reformatting: print_number
2016-10-02 19:01:27 +07:00
Max Bruckner
282006d918
reformatting: update
2016-10-02 19:01:26 +07:00
Max Bruckner
7f9a2691bf
reformatting: ensure
2016-10-02 19:01:26 +07:00
Max Bruckner
b53ce73709
reformatting: printbuffer
2016-10-02 19:01:26 +07:00
Max Bruckner
d5bd497636
reformatting: pow2gt
2016-10-02 19:01:26 +07:00
Max Bruckner
88cbe57ba4
reformatting: parse_number
2016-10-02 19:01:25 +07:00
Max Bruckner
46cfa68a2b
reformatting: cJSON_Delete
2016-10-02 19:01:25 +07:00
Max Bruckner
55488f66f6
reformatting: cJSON_New_Item
2016-10-02 19:01:25 +07:00
Max Bruckner
8db7e6d320
reformatting: cJSON_InitHooks
2016-10-02 19:01:25 +07:00
Max Bruckner
18081c03c4
reformatting: cJSON_strdup
2016-10-02 19:01:24 +07:00
Max Bruckner
542ed727d7
reformatting: cJSON_strcasecmp
2016-10-02 19:01:24 +07:00
Max Bruckner
c42b774f9f
reformatting: cJSON_GetErrorPtr
2016-10-02 19:01:24 +07:00
Max Bruckner
94df772485
fix buffer overflow ( #30 )
2016-10-02 18:56:53 +07:00
Dave Gamble
2fe50bd557
get rid of isnormal test!!
2016-05-29 16:19:14 +01:00
Dave Gamble
87f55416c1
we can safely remove this, since the initial d==0 case catches this.
2016-05-29 16:01:06 +01:00
Dave Gamble
e6b352d126
tidy up some code that was added a while back.
2016-03-20 00:24:41 +00:00
Dave Gamble
b4151361de
Allow for global/local error pointers. If you supply a return_parse_end
...
to cJSON_ParseWithOpts, then that will store the error pointer (if
parsing fails).
2016-03-19 18:41:44 +00:00
Dave Gamble
fe967cd1ff
extra checking for memory allocation failure.
2016-03-19 18:14:19 +00:00
Dave Gamble
ee579ecbd6
Integrate patch for handling broken unicode surrogate pairs, with
...
thanks to kolman and Irwan Djajadi on SourceForge.
2016-03-19 18:14:06 +00:00
Christian Schulze
52d7d14f6c
fixed segfault when the lib tries to parse HTML with embedded CSS; provided test case
2016-03-06 16:43:53 +01:00