]>
granicus.if.org Git - json-c/log
chenha0 [Thu, 21 Jan 2016 12:11:40 +0000 (20:11 +0800)]
Fix issue #221: JSON_C_TO_STRING_NOSLASHESCAPE works incorrectly
Tests added.
Eric Haszlakiewicz [Sat, 26 Dec 2015 21:42:18 +0000 (21:42 +0000)]
Add const qualifiers to several functions that don't modify the json_object.
Eric Haszlakiewicz [Wed, 9 Dec 2015 03:20:42 +0000 (21:20 -0600)]
Issue #137: remove config.h.in from change control.
Eric Haszlakiewicz [Wed, 9 Dec 2015 02:51:06 +0000 (20:51 -0600)]
Eric Haszlakiewicz [Mon, 30 Nov 2015 02:24:50 +0000 (21:24 -0500)]
Merge pull request #209 from rgerhards/fix-regression
fix regression from
2d549662be832da838aa063da2efa78ee3b99668
Eric Haszlakiewicz [Sun, 29 Nov 2015 02:00:30 +0000 (20:00 -0600)]
Fix issue #201: add a JSON_C_TO_STRING_NOSLASHESCAPE flag to turn off escaping of forward slashes.
Eric Haszlakiewicz [Sat, 28 Nov 2015 18:58:07 +0000 (13:58 -0500)]
Merge pull request #198 from unmole/master
Fix possible memory leak and remove superfluous NULL checks before free()
Rainer Gerhards [Thu, 19 Nov 2015 10:05:15 +0000 (11:05 +0100)]
fix regression from
2d549662be832da838aa063da2efa78ee3b99668
That commit introduced read-only keys, but when the hash table
was resized, that attribute was not preserved. This resulted in
an invalid free at time of table destruction.
Eric Haszlakiewicz [Sun, 15 Nov 2015 04:31:15 +0000 (23:31 -0500)]
Merge pull request #199 from Nzbuu/fix_vs_build
Fix build in Visual Studio
Eric Haszlakiewicz [Sun, 15 Nov 2015 04:30:38 +0000 (23:30 -0500)]
Merge pull request #200 from Nzbuu/ci_build
Add build scripts for CI platforms
James Myatt [Thu, 5 Nov 2015 13:50:30 +0000 (13:50 +0000)]
Appveyor: Visual Studio v140 no longer fails
James Myatt [Thu, 5 Nov 2015 13:41:42 +0000 (13:41 +0000)]
Appveyor: Create artefact with library and include files only
Eric Haszlakiewicz [Fri, 23 Oct 2015 02:16:40 +0000 (02:16 +0000)]
Use AX_APPEND_COMPILE_FLAGS() to check the various compile flags, such as -Wall, to ensure the compile supports.
Eric Haszlakiewicz [Thu, 22 Oct 2015 02:57:13 +0000 (02:57 +0000)]
Remove the AC_FUNC_MALLOC check, since we don't depend on the malloc(0) behavior it checks for, and we don't provide a rpl_malloc() implementation anyway.
James Myatt [Fri, 9 Oct 2015 22:50:51 +0000 (23:50 +0100)]
Travis: add osx and clang builds
James Myatt [Fri, 9 Oct 2015 22:48:06 +0000 (23:48 +0100)]
Travis: skip install step
James Myatt [Fri, 9 Oct 2015 22:46:19 +0000 (23:46 +0100)]
Add Travis build script
James Myatt [Fri, 11 Sep 2015 12:03:36 +0000 (13:03 +0100)]
Appveyor: Allow failing builds against newest toolset
James Myatt [Fri, 11 Sep 2015 11:20:44 +0000 (12:20 +0100)]
Add initial version of Appveyor build script
James Myatt [Fri, 9 Oct 2015 22:24:55 +0000 (23:24 +0100)]
Fix build in Visual Studio
Anmol Sarma [Thu, 1 Oct 2015 08:44:03 +0000 (14:14 +0530)]
Remove superfluous NULL checks
Anmol Sarma [Thu, 1 Oct 2015 08:39:09 +0000 (14:09 +0530)]
Fix possible memory leak
Eric Haszlakiewicz [Tue, 29 Sep 2015 02:25:29 +0000 (22:25 -0400)]
Merge pull request #196 from rgerhards/improve-performance
Performance improvements
Rainer Gerhards [Wed, 23 Sep 2015 13:56:48 +0000 (15:56 +0200)]
more efficient handling for smalls strings inside json_object
smalls strings inside json_objects had a high overhead because dynamic
memory allocation was needed for each of them. This also meant that the
pointer needed to be updated. This is now changed so that small strings
can directly be stored inside the json_object. Note that on the regular
64 bit machines a pointer takes 8 bytes. So even without increasing
memory, we could store string up to 7 bytes directly inside the object.
The max size is configurable. I have selected up to 31 bytes (which
means a buffer of 32 including the NUL byte). This brings a 24-bytes
memory overhead, but I consider that still useful because the memory
allocator usually also has quite some overhead (16 bytes) for
dyn alloced memory blocks. In any case, the max buffer size can be
tweaked via #define.
Rainer Gerhards [Wed, 23 Sep 2015 10:40:57 +0000 (12:40 +0200)]
remove unneeded data items from hashtable code
These items were used for statistics tracking, but no code at all
exists to consume them. By removing them we save
a) space
because they counters required space, and did so in each and every
json object
b) performance
because calloc() needs to write less data and the counters are
no longer maintained; cache performance can be better, load
on OS main memory is lighter
We could conditionally enable/disable these counters, but I have not
done this they were really nowhere used and it looked more like a
left-over from the import of hashtable code.
Rainer Gerhards [Wed, 23 Sep 2015 09:12:13 +0000 (11:12 +0200)]
add perllike hash function for strings
This also adds a new API json_global_set_string_hash() which permits
to select the hash function. The default one is the only one that was
previously present. So there are no changes to existing apps, and the
new hash function needs to be explicitely be opted in. Especially for
smaller strings, the perllike functions seems to be around twice as
fast as the other one, with similarly good results in value distribution.
Rainer Gerhards [Wed, 23 Sep 2015 07:08:49 +0000 (09:08 +0200)]
add json_object_object_add_ex() API
This provides more control over some detail aspects, many
of which are performance related.
Rainer Gerhards [Tue, 22 Sep 2015 17:07:30 +0000 (19:07 +0200)]
reduce duplicate hash computation in json_object_object_add()
This can be a very considerable performance saver.
Eric Haszlakiewicz [Sun, 23 Aug 2015 04:08:14 +0000 (00:08 -0400)]
Fix doc for json_object_new_boolean() to indicate the correct value for TRUE (1).
Eric Haszlakiewicz [Sun, 23 Aug 2015 04:06:36 +0000 (00:06 -0400)]
Squash deprecated function warning by replacing json_object_object_get calls with json_object_object_get_ex in test_cast.
Eric Haszlakiewicz [Sun, 23 Aug 2015 03:59:49 +0000 (23:59 -0400)]
Add back in the __attribute__((__unused__)) that was lost in the previous commit.
It's needed to squash a "variable 'val' set but not used" warning.
Eric Haszlakiewicz [Sat, 22 Aug 2015 19:24:26 +0000 (15:24 -0400)]
Merge pull request #183 from cryogen/master
Apply compile warning fix to master branch
Eric Haszlakiewicz [Thu, 6 Aug 2015 03:19:19 +0000 (23:19 -0400)]
Merge pull request #186 from Virtual-Instruments/master
Syntax error
Jacob Alexander [Tue, 2 Jun 2015 20:59:50 +0000 (13:59 -0700)]
Syntax error
- ./configure would fail due to bad code generation
Eric Haszlakiewicz [Sun, 31 May 2015 19:10:13 +0000 (12:10 -0700)]
Merge pull request #174 from haata/master
Adding JSON_C_TO_STRING_PRETTY_TAB flag
Jacob Alexander [Mon, 23 Mar 2015 23:34:30 +0000 (16:34 -0700)]
Adding JSON_C_TO_STRING_PRETTY_TAB flag
- Tabs are easier to read for tired eyes and editor adjustable
Eric Haszlakiewicz [Wed, 27 May 2015 02:02:19 +0000 (19:02 -0700)]
Tell the compiler we're intentionally ignoring the return value from __sync_val_compare_and_swap().
Stuart Walsh [Tue, 31 Mar 2015 11:23:03 +0000 (12:23 +0100)]
Fix uninitialised variable compile warning, and also fix unused-when-used warning
Eric Haszlakiewicz [Sun, 10 May 2015 01:35:22 +0000 (21:35 -0400)]
Merge pull request #149 from cicku/patch-2
SONAME bump
Eric Haszlakiewicz [Sat, 9 May 2015 01:31:37 +0000 (21:31 -0400)]
Merge pull request #171 from Nzbuu/vs2010_build
Update configuration for VS2010 and win64
Eric Haszlakiewicz [Sat, 9 May 2015 01:19:48 +0000 (21:19 -0400)]
Merge pull request #182 from tpetazzoni/libm-fix
Link against libm when needed
Eric Haszlakiewicz [Sat, 9 May 2015 01:19:05 +0000 (21:19 -0400)]
Merge pull request #180 from yegorich/silent
Enable silent build by default
Thomas Petazzoni [Fri, 1 May 2015 10:52:18 +0000 (12:52 +0200)]
Link against libm when needed
In certain C libraries (e.g uClibc), isnan() and related functions are
implemented in libm, so json-c needs to link against it. This commit
therefore adds an AC_TRY_LINK() test to check whether a program
calling isnan() can be properly linked with no special flags. If not,
we assume linking against libm is needed.
The json-c.pc.in file is also adjusted so that in the case of static
linking against json-c, -lm is also used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yegor Yefremov [Sat, 25 Apr 2015 19:57:38 +0000 (21:57 +0200)]
Enable silent build by default
James Myatt [Thu, 5 Feb 2015 16:38:47 +0000 (16:38 +0000)]
Build random_seed.c as well
James Myatt [Thu, 5 Feb 2015 16:15:06 +0000 (16:15 +0000)]
Add x64 build configurations
James Myatt [Thu, 5 Feb 2015 16:12:28 +0000 (16:12 +0000)]
Set CompileAsCpp flag (Required for vs2010/winsdk71)
Revert some project settings to defaults
James Myatt [Thu, 5 Feb 2015 16:02:58 +0000 (16:02 +0000)]
Update VS project to include current source files
James Myatt [Thu, 5 Feb 2015 15:59:19 +0000 (15:59 +0000)]
Use more appropriate casts
James Myatt [Thu, 5 Feb 2015 15:58:39 +0000 (15:58 +0000)]
Add missing include file to random_seed
James Myatt [Thu, 5 Feb 2015 15:58:12 +0000 (15:58 +0000)]
Define macros from inttypes.h when not available
James Myatt [Thu, 5 Feb 2015 15:57:14 +0000 (15:57 +0000)]
json_tokener requires INF and NAN
James Myatt [Thu, 5 Feb 2015 15:56:49 +0000 (15:56 +0000)]
Define INFINITY and NAN when missing
James Myatt [Thu, 5 Feb 2015 15:55:25 +0000 (15:55 +0000)]
Include config.h in linkhash so that HAVE_ENDIAN_H is defined (if available)
James Myatt [Thu, 5 Feb 2015 15:54:19 +0000 (15:54 +0000)]
Updated config for vs2010/winsdk71 as well as vs2013
Define JSON_C_HAVE_INTTYPES_H in json_config.h.win32 only
Eric Haszlakiewicz [Wed, 4 Mar 2015 03:41:31 +0000 (22:41 -0500)]
Merge pull request #168 from bugness-chl/master
Tightening the number parsing algorithm
Eric Haszlakiewicz [Wed, 4 Mar 2015 03:35:36 +0000 (22:35 -0500)]
Merge pull request #163 from sixlettervariables/fix-win32-build-problems
Fix Win32 build problems
Eric Haszlakiewicz [Wed, 4 Mar 2015 03:12:49 +0000 (22:12 -0500)]
Merge pull request #144 from mhei/master
Introduce json_object_from_fd
Eric Haszlakiewicz [Wed, 4 Mar 2015 03:10:10 +0000 (03:10 +0000)]
Slight style tweaks to the bsearch changest.
Eric Haszlakiewicz [Wed, 4 Mar 2015 03:00:08 +0000 (22:00 -0500)]
Merge pull request #155 from LeSpocky/bsearch
add bsearch for arrays
Eric Haszlakiewicz [Wed, 4 Mar 2015 02:37:02 +0000 (21:37 -0500)]
Merge pull request #156 from jubalh/master
Remove trailing whitespaces
chl [Thu, 5 Feb 2015 00:34:10 +0000 (01:34 +0100)]
Tightening the number parsing algorithm
Some badly formated "numbers" could get partly parsed,
resulting in truncated results instead of raising an
error.
Examples :
'1.2.3' -> (double)1.2
'2015-01-15' -> (int)2015
This patch is not perfect (ex: input can still end with a 'E', which
is forbidden by json.org doc) but should avoid non-sensically
formated input.
Tests added.
Christopher Watford [Fri, 5 Dec 2014 15:27:44 +0000 (10:27 -0500)]
Adds json_config.h.win32 to project. Adds VS2k13 project.
Christopher Watford [Fri, 5 Dec 2014 15:22:36 +0000 (10:22 -0500)]
Fixes #160 'missing header file on windows'
Eric Haszlakiewicz [Sun, 14 Sep 2014 02:18:51 +0000 (22:18 -0400)]
Merge pull request #153 from LeSpocky/doc
improve doc for json_object_to_json_string()
Eric Haszlakiewicz [Sun, 14 Sep 2014 02:18:14 +0000 (22:18 -0400)]
Merge pull request #151 from mjchinn/json_type-comma
Remove json_type enum trailing comma
Eric Haszlakiewicz [Sun, 14 Sep 2014 02:17:57 +0000 (22:17 -0400)]
Merge pull request #150 from ams-cs/master
Fix build using MinGW.
Eric Haszlakiewicz [Sun, 14 Sep 2014 02:14:44 +0000 (22:14 -0400)]
Merge pull request #141 from AlexandruCostache/master
Removed duplicate check in random_seed test - bug #140
Michael Vetter [Tue, 26 Aug 2014 12:48:59 +0000 (14:48 +0200)]
Remove trailing whitespace
Alexander Dahl [Thu, 21 Aug 2014 13:42:50 +0000 (15:42 +0200)]
add bsearch for arrays
Arrays can already be sorted with json_object_array_sort() which uses
qsort() of the standard C library. This adds a counterpart using the
bsearch() from C.
Alexander Dahl [Mon, 18 Aug 2014 08:28:38 +0000 (10:28 +0200)]
improve doc for json_object_to_json_string()
Michael J. Chinn [Sun, 10 Aug 2014 04:46:25 +0000 (00:46 -0400)]
Remove json_type enum trailing comma
Andrew Stubbs [Mon, 4 Aug 2014 10:44:25 +0000 (11:44 +0100)]
Fix build using MinGW.
MinGW requires wincrypt.h.
GCC does not support #pragma comment, which trips Werror.
Christopher Meng [Mon, 28 Jul 2014 11:28:19 +0000 (19:28 +0800)]
SONAME bump
The last json_tokener_errors change affects the binary package, we need a bump to solve the issue.
See [this bug of postgis.](https://bugzilla.redhat.com/show_bug.cgi?id=
1123785 )
Michael Heimpold [Mon, 21 Jul 2014 21:15:45 +0000 (23:15 +0200)]
Introduce json_object_from_fd
Also refactor json_object_from_file to use json_object_from_fd
internally.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Alexandru Costache [Fri, 4 Jul 2014 08:58:14 +0000 (11:58 +0300)]
Removed duplicate check in random_seed test - bug #140
Eric Haszlakiewicz [Sun, 4 May 2014 02:29:10 +0000 (22:29 -0400)]
Move the json_min() and json_max() macros to json_util.h and mark everything else in bits.h deprecated.
Eliminate all uses of bits.h within the json-c code.
Eric Haszlakiewicz [Sun, 4 May 2014 02:26:26 +0000 (22:26 -0400)]
Fix the definition of the error_description() macro in bits.h now that json_tokener_errors[] is not exported.
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:33:05 +0000 (20:33 -0400)]
Check for failures when allocating memory; return NULL and set errno=ENOMEM in a few of those cases.
Thanks to Susant Sahani for pointing out some of these.
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:23:54 +0000 (20:23 -0400)]
Reformat some code in json_object.c
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:22:44 +0000 (20:22 -0400)]
Add an empty README file to placate autoconf.
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:11:05 +0000 (20:11 -0400)]
Fix minor typo in README file.
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:10:10 +0000 (20:10 -0400)]
Merge pull request #133 from haneefmubarak/patch-1
Update and rename README to README.md
Eric Haszlakiewicz [Sun, 20 Apr 2014 00:05:06 +0000 (20:05 -0400)]
Merge pull request #132 from pkoretic/master
Remove unused variable 'size'
Haneef Mubarak [Sat, 12 Apr 2014 07:40:05 +0000 (00:40 -0700)]
Update README.md
- code blocks
- slight text changes (rewording)
- pretty printing
Haneef Mubarak [Sat, 12 Apr 2014 07:36:08 +0000 (00:36 -0700)]
Update and rename README to README.md
Markdownify + fix a few errors here and there
Eric Haszlakiewicz [Sat, 12 Apr 2014 00:06:27 +0000 (20:06 -0400)]
Update the release checklist to include calculating the tarball checksums and updating the wiki.
Petar Koretić [Fri, 11 Apr 2014 08:03:40 +0000 (10:03 +0200)]
Remove unused variable 'size'
Eric Haszlakiewicz [Fri, 11 Apr 2014 02:44:13 +0000 (22:44 -0400)]
Bump versions up to 0.12.99 since a 0.12 release was just created.
Eric Haszlakiewicz [Fri, 11 Apr 2014 01:07:20 +0000 (21:07 -0400)]
Update the ChangeLog with the changes for the 0.12 release.
Bump the version in the release checklist.
Michael Clark [Wed, 9 Apr 2014 05:48:21 +0000 (13:48 +0800)]
Patch to address the following issues:
* CVE-2013-6371: hash collision denial of service
* CVE-2013-6370: buffer overflow if size_t is larger than int
Eric Haszlakiewicz [Sun, 23 Mar 2014 01:48:34 +0000 (21:48 -0400)]
Eliminate the deprecated mc_abort() function and MC_ABORT macro.
Eric Haszlakiewicz [Sun, 23 Mar 2014 01:41:24 +0000 (21:41 -0400)]
Make the json_tokener_errors array local. It has been deprecated for a while, and json_tokener_error_desc() should be used instead.
Eric Haszlakiewicz [Sun, 23 Mar 2014 01:40:37 +0000 (21:40 -0400)]
Simplify the tests Makefile to avoid repeating the name of each test.
Eric Haszlakiewicz [Sun, 23 Mar 2014 01:15:41 +0000 (21:15 -0400)]
Rename the "test_case" test to "test_charcase" to make it slightly less confusing.
Eric Haszlakiewicz [Sat, 22 Mar 2014 23:15:01 +0000 (19:15 -0400)]
Fix warnings from autoconf about "...no AC_LANG_SOURCE call detected..." by adding that call within the AC_LINK_IFELSE call.
Eric Haszlakiewicz [Sat, 22 Mar 2014 21:28:40 +0000 (17:28 -0400)]
Issue #103: allow Infinity and -Infinity to be parsed.
Eric Haszlakiewicz [Sat, 22 Mar 2014 17:39:36 +0000 (13:39 -0400)]
Merge pull request #123 from fingon/use-NAN-if-available
nan function requires -lm on some platforms - use of NAN is better, if available
Markus Stenberg [Tue, 18 Mar 2014 14:29:49 +0000 (16:29 +0200)]
nan function requires -lm on some platforms; use of NAN is better, if available.
Eric Haszlakiewicz [Sun, 9 Mar 2014 20:41:33 +0000 (16:41 -0400)]
Issue#102 - add support for parsing "NaN".