Commit Graph

115 Commits

Author SHA1 Message Date
Kevin Branigan
e95313adad Merge pull request #24 from FSMaxB/fix_code_order
Fix printing of empty string pointers
2015-10-25 23:48:38 -04: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
Kevin Branigan
d4906be4f0 Merge pull request #23 from FSMaxB/format_fix
Fix format problem with empty objects
2015-10-25 22:02:33 -04: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
Kevin Branigan
361b9a58cb Merge pull request #19 from FSMaxB/fix_boolean
fix boolean expression
2015-10-18 17:03:47 -04:00
Kevin Branigan
99c46e7661 Merge pull request #20 from FSMaxB/fix_memory_leaks
fix memory leaks
2015-10-18 17:03:25 -04:00
Kevin Branigan
c7241f5314 Merge pull request #22 from FSMaxB/unreachable_line
Remove line that will never be executed
2015-10-18 17:03:03 -04:00
Max Bruckner
7c25dc9135 Remove line that will never be executed 2015-10-16 15:01:24 +02:00
Max Bruckner
58bc383b28 fix memory leaks 2015-10-14 11:02:56 +02:00
Max Bruckner
ec71726ef8 fix boolean expression
This expression was always false.
2015-10-13 20:33:37 +02:00
Kevin Branigan
1a20eb8494 Fixed linux compile to support fpclassify (issue #18) 2015-10-05 13:46:14 -04:00
Kevin Branigan
8865d869db cJSON_HasObjectItem didn’t compile 2015-10-01 12:03:27 -04:00
Kevin Branigan
322e440e78 Merge pull request #16 from npi3pak/patch-1
README.md: fixed formatting
2015-10-01 11:38:53 -04:00
Kevin Branigan
11fb0d0215 Merge pull request #15 from dieyushi/master
add new macro for iterating over an array
2015-10-01 11:38:33 -04:00
Kevin Branigan
1e1de63244 Merge pull request #13 from rmeertens/master
added cJSON_HasObjectItem
2015-10-01 11:37:44 -04:00
Kevin Branigan
11b8c97f41 Merge pull request #17 from Scypho/master
Handle invalid numbers
2015-10-01 11:36:19 -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
IvanVoid
0b807e21a4 README.md: fixed formatting 2015-09-25 19:14:39 +03:00
root
0da343068e add new macro for iterating over an array 2015-09-16 21:28:01 +08:00
Roland Meertens
b175877d8b +usefull function 2015-09-15 02:40:27 +02:00
Kevin Branigan
affedd65ba Merge pull request #11 from etodd/win-math-lib-fix
Remove "m" library dependency on Windows.
2015-08-20 12:35:07 -04:00
Evan Todd
ebd06067a4 Remove "m" library dependency on Windows. 2015-08-19 23:03:08 -04:00
Kevin Branigan
a819694712 Merge pull request #10 from ajaybhargav/master
Update gitignore to avoid tracking unwanted files
2015-08-12 11:10:06 -04:00
Ajay Bhargav
acff70b22d Update gitignore to avoid tracking unwanted files
.gitignore updated to avoid tracking files generated after build. Following list
of files are added:
*.o
*.a
*.so
*.swp
*.patch
tags

Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
2015-08-12 12:53:33 +05:30
Kevin Branigan
f86b9bdfcf Merge pull request #9 from anton-sergeev/master
Merge latest upstream code (svn rev. 73) into github fork
2015-07-27 21:33:42 -04:00
Anton Sergeev
956129116f Support cJSON_Utils library in CMakeLists.txt
Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
2015-07-28 03:48:28 +06: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
Kevin Branigan
2bd1e80f6c Merge pull request #8 from anton-sergeev/master
Add CMakeLists.txt
2015-07-15 10:34:08 -04:00
Anton Sergeev
262189428e Add CMakeLists.txt
Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
2015-07-15 14:08:45 +06:00
Kevin Branigan
7632993ebe Merge pull request #7 from DongwenHuang/master
Update cJSON.c
2015-06-15 10:59:20 -04:00
DongwenHuang
10b888be54 Update cJSON.c 2015-06-15 17:13:22 +08:00
Kevin Branigan
0fd1435f4b Merge pull request #6 from DongwenHuang/master
Update test.c
2015-06-12 14:25:52 -04:00
DongwenHuang
4132e9301d Update test.c 2015-06-12 12:44:42 +08:00
Dave Gamble
8004ed3115 Fix bug with the sort.
git-svn-id: svn://svn.code.sf.net/p/cjson/code@73 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-13 20:33:06 +00:00
Dave Gamble
174c62902c Since we anticipate repeated comparisons, add in a test for sorted lists, which can reduce
cost for sorted objects to O(N)


git-svn-id: svn://svn.code.sf.net/p/cjson/code@72 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-13 20:31:33 +00:00
Dave Gamble
491cf029b2 Rework cJSON_Utils object compare functions to use an O(N) algorithm on sorted lists.
It's a bit of a shame to use the sorts, because cJSON is otherwise incredibly stable (json->cJSON->json is unmodified modulo formatting),
but it means we get usable performance, rather than O(N^2) which will make CPUs cry.


git-svn-id: svn://svn.code.sf.net/p/cjson/code@71 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-13 19:53:27 +00:00
Dave Gamble
c4ddd7aaa3 Correct comment and variable declaration style to be more compatible. Added cJSONUtils_SortObject for sorting the members of an object alphabetically.
git-svn-id: svn://svn.code.sf.net/p/cjson/code@70 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-13 19:19:26 +00: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
060e6563c0 Add more patch functionality and some more utils.
Also add a new #define to cJSON.h for SetNumberValue.


git-svn-id: svn://svn.code.sf.net/p/cjson/code@66 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-11 01:29:40 +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
858671cc7f rework cJSONUtils_GetPointer to avoid malloc/free by using strcmp with pointer-encoding awareness.
git-svn-id: svn://svn.code.sf.net/p/cjson/code@64 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-10 12:14:59 +00:00
Dave Gamble
c0f5e2056b add cJSON_Utils which includes JSON Pointer implementation
git-svn-id: svn://svn.code.sf.net/p/cjson/code@63 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2015-02-09 18:29:05 +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
Kevin Branigan
2ffefcec73 Merge pull request #4 from rafaeldias/master
Fixed issue with ansi (single-line comments) and updated Makefile for compiling dynamic and static lib.
2015-02-03 00:31:11 -05: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