Dave Gamble
12d7ccf63b
fix typo.
2016-05-29 15:40:47 +01:00
Irwan Djajadi
224c2a8485
Fix compiler error when it encountered 1.0/0.0. It does not want to deal
...
with division by 0.
Tricked the compiler to use volatile local variable zero instead, so it
does not know for sure whether or not it's going to be zero.
2016-04-22 14:27:20 -05: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
c6d868cf06
add this to .gitignore
2016-03-19 18:26:57 +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
Kevin Branigan
a6a75645e4
Merge pull request #26 from nagamalli9999/master
...
Using values in powers of two for cJSON_* constants
2016-03-06 20:10:15 +00:00
Kevin Branigan
dbf16a0eb8
Merge pull request #31 from ChristianSch/master
...
fixed segmentation fault for non-json input / provided test case
2016-03-06 20:09:02 +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
Kevin Branigan
e70366a65a
Merge pull request #29 from schmidtw/master
...
Publish the libraries and headers to the right directories during 'make install'.
2016-02-16 17:33:32 +00:00
Weston Schmidt
a5c60cd223
Improve the locations so the destination is correct as well as the include path.
2016-02-15 06:36:21 -08:00
Weston Schmidt
2cac21e156
Add install targets.
2016-02-15 06:21:48 -08:00
Kevin Branigan
53b7e74c9c
Merge pull request #27 from nagamalli9999/makefile-uninstall
...
Added uninstall rule to Makefile
2016-02-11 13:09:29 -05:00
Eswar Yaganti
5daac864a3
Added uninstall rule to Makefile
2016-02-11 18:26:54 +05:30
Eswar Yaganti
8d94ecec75
Merge branch 'master' of https://github.com/nagamalli9999/cJSON
2016-02-10 10:01:03 +05:30
Eswar Yaganti
ce546b54d8
Changed the #define values of cJSON* data types
...
We can use bitops to check if the parsed JSON is of a particular types
using OR
2016-02-10 09:58:13 +05:30
Eswar Yaganti
51371c899e
Changed the #define values of cJSON* data types
...
We can use bitops to check if the parsed JSON is of a particular types
using OR
2016-02-09 22:52:10 +05:30
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
Kevin Branigan
65478ea731
Merge pull request #1 from pontillo/master
...
Merge latest upstream code into github fork
2014-05-21 11:26:06 -04: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
22e51c92f0
license file separated out :)
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@56 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-08-14 13:16:18 +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
46e3724aa8
clean up test.c
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@54 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-09 12:57:04 +00:00
Dave Gamble
15adf71272
Tidy comments. Add cJSON_SetIntValue.
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@53 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-09 12:56:01 +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
02a1e544f7
add cJSON_AddBoolToObject().
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@51 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-06 12:59:21 +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
Dave Gamble
3ddf3a5911
stable solution for printing arrays - based on patch donated by Jerome Lang.
...
Resolves issue in case malloc(0)!=0.
git-svn-id: http://svn.code.sf.net/p/cjson/code@44 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 17:14:12 +00:00
Dave Gamble
4678f33b5c
Fix up ANSI issues.
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@43 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2013-02-05 17:00:31 +00:00
Dave Gamble
fd1ac4f179
make parse_number more robust!
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@42 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-10-10 15:33:19 +00:00
Dave Gamble
0d268cfef7
Update to cJSON! We now support UTF-16 surrogate pairs :)
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@41 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-10-10 15:22:34 +00:00
Kevin Branigan
65de016c38
a few more README changes
2011-08-22 00:55:11 -04:00
Kevin Branigan
b051ed05d7
updated Makefile, README and gitignore
2011-08-22 00:52:03 -04:00
Kevin Branigan
ebba183f1e
updated README markdown, gitignore, added the Makefile and fixed weird comments in test.c
2011-08-22 00:47:25 -04:00
Kevin Branigan
4cc55858fd
renamed README to README.md
2011-08-22 00:44:33 -04:00
Kevin Branigan
fc0df31a18
init commit
2011-08-22 00:43:38 -04:00
Dave Gamble
9061b7a7e7
Fix c99 violation!
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@40 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-14 21:34:03 +00:00
Dave Gamble
15dada46b5
Fix missing cast for compilation as c++!!
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@39 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-07 16:35:13 +00:00
Dave Gamble
6a58ba5285
Include some analysis so that you can debug a failed parse.
...
You really oughtn't go too far with this, because it's only loose information; as I've said before, cJSON +isn't+ a validating parser. But this might give you enough info to save yourself on some rare occasion ;)
git-svn-id: http://svn.code.sf.net/p/cjson/code@38 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-02 21:22:57 +00:00
Dave Gamble
b5d57642c2
Handle control-chars.
...
In a certain sense, we shouldn't be seeing them, but this way we at least handle them well.
git-svn-id: http://svn.code.sf.net/p/cjson/code@37 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-02 21:04:46 +00:00
Dave Gamble
b5d2db4d9a
print_object was calling free() rather than cJSON_free() under failure conditions!
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@36 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-02 19:15:06 +00:00
Dave Gamble
6f51f007a9
cJSON_Parse("") should return 0.
...
git-svn-id: http://svn.code.sf.net/p/cjson/code@35 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-02 19:12:29 +00:00
Dave Gamble
02d86ef778
Update to permit compilation with gcc -ansi flag
...
(changed all C++ // comments to C /* */ comments).
git-svn-id: http://svn.code.sf.net/p/cjson/code@34 e3330c51-1366-4df0-8b21-3ccf24e3d50e
2011-03-02 19:09:43 +00:00