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
Max Bruckner
8222e9b8c4
Fix printing of empty string pointers
...
Once the check if str is NULL is reached, str has already been
derereferenced in the for loop, so in the case that the if clause would
be entered, the program has already crashed due to a null pointer
dereference.
By checking the content of str before dereferencing, the code in the if
clause is actually useful.
for (ptr=str;*ptr;ptr++) flag|=((*ptr>0 && *ptr<32)||(*ptr=='\"')||(*ptr=='\\'))?1:0;
...
if (!str)
...
2015-10-26 03:08:47 +01:00
Max Bruckner
9cc37a2844
Fix format problem with empty objects
...
When printing empty objects, the closing curly brace was missing one
indentation level.
Example from the output of test_utils:
BEFORE FIX:
{
"foo": "bar",
"child": {
"grandchild": {
}
}
}
AFTER FIX:
{
"foo": "bar",
"child": {
"grandchild": {
}
}
}
2015-10-26 02:43:44 +01:00
Max Bruckner
7c25dc9135
Remove line that will never be executed
2015-10-16 15:01:24 +02:00
Kevin Branigan
8865d869db
cJSON_HasObjectItem didn’t compile
2015-10-01 12:03:27 -04:00
Kevin Branigan
1e1de63244
Merge pull request #13 from rmeertens/master
...
added cJSON_HasObjectItem
2015-10-01 11:37:44 -04:00
Linus Wallgren
e4b96fa820
Handle invalid numbers
...
Previously cJSON generated invalid JSON when a number was infinite or
similar. This patch changes the behaviour to match javascript, that is
to render such a number as null.
2015-10-01 17:27:59 +02:00
Roland Meertens
b175877d8b
+usefull function
2015-09-15 02:40:27 +02:00
Anton Sergeev
74793934ad
Merge latest upstream code (r73) into github fork.
...
Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
Conflicts:
cJSON.c
test.c
2015-07-28 03:48:06 +06:00
DongwenHuang
10b888be54
Update cJSON.c
2015-06-15 17:13:22 +08:00
Dave Gamble
1d9b70e706
Fix comment style for proper ansi c compliance.
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@69 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-13 19:07:29 +00:00
Dave Gamble
9d0a4cbf2a
adjust the test very slightly
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@68 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-11 11:34:01 +00:00
Dave Gamble
b44a338c6d
Optimise out escapable array.
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@67 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-11 11:31:35 +00:00
Dave Gamble
3c6b3cc617
start of JSON Patch implementation. cJSON gained a cJSON_InsertItemToArray which pushes elements up by one.
...
This is needed for JSON Patch. Everything but Test is implemented for ApplyPatches.
git-svn-id: svn://svn.code.sf.net/p/cjson/code@65 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-10 14:17:59 +00:00
Dave Gamble
2abfb716d1
fix formatting.
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@62 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-09 17:38:18 +00:00
Dave Gamble
d9fc81e6c8
Added buffered printing methods for faster printing.
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@61 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-09 17:34:35 +00:00
Dave Gamble
70984d47e9
patch to optimise array/object printing.
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@60 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-09 17:28:26 +00:00
Dave Gamble
575724a15f
optimises for number/string print
...
git-svn-id: svn://svn.code.sf.net/p/cjson/code@59 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-09 17:25:55 +00:00
Rafael Leal Dias
a3eafd540d
Fixed issue withh ansi (single-line comments) and updated Makefile for compiling dynamic and static lib.
2015-01-30 12:06:14 -02:00
Mike Pontillo
cf50682983
Merge latest upstream code into github fork.
...
Conflicts:
cJSON.c
cJSON.h
test.c
2014-05-20 20:03:20 -07:00
Dave Gamble
28691956a6
fix \u parser
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@58 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-08-19 14:49:06 +00:00
Dave Gamble
c537515c17
inbuilt hex parser for unicode, which ought to be a lot faster.
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@57 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-08-14 13:20:42 +00:00
Dave Gamble
73cc8dd1c4
cJSON_Minify (which strips comments),
...
fixed buffer overflow
const * for array creates
git-svn-id: http://svn.code.sf.net/p/cjson/code@55 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-08-14 12:58:13 +00:00
Dave Gamble
2c9474e9e3
fix non-explicit cast
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@52 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-09 12:55:11 +00:00
Dave Gamble
96c59f3e49
Wire in ParseWithOpts to allow detection of JSON with following garbage.
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@50 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-06 12:44:17 +00:00
Dave Gamble
d755436ba7
tests for cJSON_Duplicate, so it will fail by returning 0 if anything fails to allocate
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@49 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 18:26:51 +00:00
Dave Gamble
927aa631b8
Added cJSON_Duplicate. With commentary
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@48 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 18:23:22 +00:00
Dave Gamble
a7fe08778f
bracket logic (to quiet a warning).
...
Fix for potential buffer overflow printing extremely large integers.
git-svn-id: http://svn.code.sf.net/p/cjson/code@47 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 17:42:42 +00:00
Dave Gamble
8c60f99c72
fix handling of utf16 surrogate pairs!
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@46 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 17:38:48 +00:00
Dave Gamble
8aa084918f
Revert last patch. Simpler fix for empty arrays/objects is to handle them explicitly and then bail.
...
Saves plenty of unnecessary state-tracking.
git-svn-id: http://svn.code.sf.net/p/cjson/code@45 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 17:27:59 +00:00