2d78acdbda
Bump version to 0.15
Eric Haszlakiewicz
2020-07-26 15:10:07 +00:00
870965e1ea
Update AUTHORS, add issues_closed_for_0.15.md, tweak the release checklist slightly.
Eric Haszlakiewicz
2020-07-24 03:17:13 +00:00
616b1050b2
Merge pull request #648 from MarcT512/rbf
Eric Hawicz
2020-07-23 22:26:58 -04:00
4a23d3413d
Fix "may be used uninitialized" Release build failure
Marc
2020-07-23 18:19:12 +01:00
730e3d044f
Issue #594 - provide an OVERRIDE_GET_RANDOM_SEED cmake variable to override json_c_get_random_seed() for embedded platforms where time(NULL) doesn't work.
Eric Haszlakiewicz
2020-07-22 02:25:03 +00:00
64de4b6e9f
Merge pull request #646 from pascal-cuoq/fix_645
Eric Hawicz
2020-07-21 21:24:59 -04:00
024e835f4c
Update the ChangeLog with recent changes, in preparation for a 0.15 release.
Eric Haszlakiewicz
2020-07-20 03:39:01 +00:00
78a0f2ea5d
Remove the obsolete config.h.win32
Eric Haszlakiewicz
2020-07-17 03:47:28 +00:00
e46b9cdb7d
Fix a number of things with the generated docs, including translating triple-backtick code blocks into a form doxygen understands.
Eric Haszlakiewicz
2020-07-17 03:46:21 +00:00
9a7de35b92
Add some more detail about how to use json-c in README.md.
Eric Haszlakiewicz
2020-07-17 03:42:38 +00:00
cb10a13e94
Remove the THIS_FUNCTION_IS_DEPRECATED define, we stopped using it long ago.
Eric Haszlakiewicz
2020-07-17 03:20:29 +00:00
6a0b2d669f
Fix typoes with previous change.
Eric Haszlakiewicz
2020-07-12 19:17:59 +00:00
2508109b18
Remove the obsolete README.json_object-split.md, and mark README.md as being the doxygen mainpage.
Eric Haszlakiewicz
2020-07-12 19:16:19 +00:00
fe480073f7
Add a "json-c-current-release" link pointing at json-c-0.14.
Eric Haszlakiewicz
2020-07-12 19:13:50 +00:00
4d9f6dd22e
Issue #642: improve the docs for json_object_put() and json_object_get().
Eric Haszlakiewicz
2020-07-12 18:43:27 +00:00
2330c6f0de
Expand the doc for json_object_array_get_idx() to explain that it does not adjust refcounts.
Eric Haszlakiewicz
2020-07-12 17:55:46 +00:00
6542d33cd1
Issue #641: Add a cast to void * to address some theoretically undefined printf behavior.
Eric Haszlakiewicz
2020-07-11 15:03:00 +00:00
10a9ac245e
Issue #642: improve docs for json_tokener.h and json_object_object_add().
Eric Haszlakiewicz
2020-07-11 04:04:58 +00:00
6fa8b7ff42
Don't export json-c symbols starting with an underscore, put deprecated exports into a "JSONC_PRIVATE" version, and note stuff to do during releases. See also PR #639 and issue #621
Eric Haszlakiewicz
2020-07-04 18:58:56 +00:00
6068d3f6d1
Change the strerror_override handling to check $_JSON_C_STRERROR_OVERRIDE instead of using a variable, so we don't need to export it.
Eric Haszlakiewicz
2020-07-04 18:56:15 +00:00
b01d50b8dc
Merge pull request #639 from smcv/symbol-versions
Eric Hawicz
2020-07-04 14:26:20 -04:00
c2c94024f5
build: Add symbol versions to all exported symbols
Simon McVittie
2020-06-29 18:16:34 +01:00
6465e74020
Use constants referring to the signed integer types when setting SSIZE_T_MAX. In practice, the sizes of the signed and unsigned integer types will almost cetainly be the same, but this is more correct. Pointed out in issue #638.
Eric Haszlakiewicz
2020-07-01 00:34:46 +00:00
34334e5d3f
Replace one call to json_object_new_array() with json_object_new_array_ext() to ensure it at least minimally works.
Eric Haszlakiewicz
2020-06-29 02:35:26 +00:00
0b67caec1a
Add doc comment for json_object_new_array_ext().
Eric Haszlakiewicz
2020-06-29 02:31:32 +00:00
a4e3700972
Fix code formatting
Eric Haszlakiewicz
2020-06-29 02:31:18 +00:00
5f3bf70f03
Make sure TEST_PARSE_CHUNKSIZE is valid if it's set.
Eric Haszlakiewicz
2020-06-29 02:18:34 +00:00
f23486a321
In the json_tokener_state_number case, explicitly adjust what "number" characters are allowed based on the exact micro-state that we're in, and check for invalid following characters in a different way, to allow a valid json_type_number object to be returned at the top level. This causes previously failing strings like "123-456" to return a valid json_object with the appropriate value. If you care about the trailing content, call json_tokener_parse_ex() and check the parse end point with json_tokener_get_parse_end().
Eric Haszlakiewicz
2020-06-29 02:14:26 +00:00
6eac6986c9
Fix incremental parsing of invalid numbers with exponents, such as "0e+-" and "12.3E12E12", while still allowing "0e+" in non-strict mode. Deprecate the json_parse_double() function from json_util.h
Eric Haszlakiewicz
2020-06-27 15:32:19 +00:00
84e6032883
Issue #635: Fix "expression has no effect" warning in json_tokener.c by casting to void.
Eric Haszlakiewicz
2020-06-23 02:51:46 +00:00
7a72805e34
Fix memory leak in test_parse's single_incremental_parse().
Eric Haszlakiewicz
2020-06-22 01:12:03 +00:00
7d3c2d9fad
Drop extra blank lines from arraylist.h
Eric Haszlakiewicz
2020-06-21 18:30:40 +00:00
a68566bf6a
Issue #616: Change the parsing of surrogate pairs in unicode escapes so it uses a couple of additional states instead of assuming the low surrogate is already present, to ensure that we correctly handle various cases of incremental parsing.
Eric Haszlakiewicz
2020-06-21 18:17:40 +00:00
197e372464
In test_parse, fix lengths passed during a couple of incremental tests. Add an optional way to use an incremental chunk size ($TEST_PARSE_CHUNKSIZE) for all of the single_basic_parse tests, in additional to the regular way.
Eric Haszlakiewicz
2020-06-21 17:36:38 +00:00
36118b681e
Rearrange the json_tokener_state_escape_unicode case in json_tokener to simplify the code slightly and make it a bit easier to understand. While here, drop the utf8_replacement_char that is unnecesarily added if we run out of input in the middle of a unicode escape. No other functional changes (yet).
Eric Haszlakiewicz
2020-06-21 03:10:55 +00:00
50179fb09f
Update the json_tokener_parse_ex() docs to clarify that the final '\0' character is to be included in length passed in.
Eric Haszlakiewicz
2020-06-21 02:35:42 +00:00
da76ee26e7
Merge pull request #633 from dota17/issue616
Eric Hawicz
2020-06-20 22:33:17 -04:00
e26a1195f4
Add json_object_array_shrink() (and array_list_shrink()) and use it in json_tokener to minimize the amount of memory used. This results in a 39%-50% reduction in memory use (peak RSS, peak heap usage) on the jc-bench benchmark and 9% shorter runtime. Also add the json_object_new_array_ext, array_list_new2, and array_list_shrink functions.
Eric Haszlakiewicz
2020-06-20 18:03:04 +00:00
99bb2121c6
Merge pull request #632 from json-c/json_object-split
Eric Hawicz
2020-06-20 13:04:32 -04:00
0710c835a1
Reformat the json_object-split branch with clang-format
json_object-split
Eric Haszlakiewicz
2020-06-16 13:17:58 +00:00
401b29c021
Merge pull request #634 from micahsnyder/json-c-fPIC
Eric Hawicz
2020-06-14 17:56:35 -04:00
60494684a1
Issue #508: -fPIC to link libjson-c.a with libs
Micah Snyder
2020-06-14 12:01:48 -04:00
9128ec49b1
Include unistd.h to fix the build on OSX
Eric Haszlakiewicz
2020-06-14 03:11:44 +00:00
5ebfeaedc5
Drop the _delete field from struct json_object and call the type-specific delete functions directly from json_object_put. (Thanks @dota17 for the suggestion in PR #632!)
Eric Haszlakiewicz
2020-06-13 18:34:35 +00:00
4c10712114
Drop the useless "char data[1]" from struct json_object. Fix a typo in a comment.
Eric Haszlakiewicz
2020-06-13 18:25:32 +00:00
c1b872d817
fix issue 616: support the surrogate pair in split file.
dota17
2020-06-02 19:17:42 +08:00
85c244f048
Eliminate unnecessary cast that was added to test_double_serializer.
Eric Haszlakiewicz
2020-06-07 18:50:10 +00:00
02fe2e0ccd
Summarize the changes from the json_object-split branch in the ChangeLog.
Eric Haszlakiewicz
2020-06-07 18:45:17 +00:00
ecdfeb18cf
Move the ssize_t typedef from json_inttypes.h to json_object_private.h so as not to affect publically exposed symbols.
Eric Haszlakiewicz
2020-06-07 18:29:56 +00:00
66d91fdf86
The split of json_object into type-specific sub-structures is now functionally complete. Remove all of the temporary defines, structures, old compat fuctions, extra fields, etc... that were needed during the conversion to a split set of json_object_* structures.
Eric Haszlakiewicz
2020-06-07 03:30:39 +00:00
c4cc673071
More fixes for old MSVC builds.
Eric Haszlakiewicz
2020-06-07 15:25:59 +00:00
0a16b23adf
Fix typo in previous commit to check for SSIZE_T on MSVC.
Eric Haszlakiewicz
2020-06-07 15:19:29 +00:00
eab1375123
Change CMakeLists.txt to look for SSIZE_T on MSVC too.
Eric Haszlakiewicz
2020-06-07 03:36:59 +00:00
b0466b626b
On MSVC, add a ssize_t typedef using SSIZE_T from BaseTsd.h
Eric Haszlakiewicz
2020-06-07 03:27:13 +00:00
0fc9d91277
Kick json_type_string out of struct json_object. The default is now that string data is stored inline at the end of json_object, though to allow for json_object_set_string() to set a _longer_ string, we still need to allow for the possibility of a separate char * pointer. All json types have been split out now, next step it cleanup.
Eric Haszlakiewicz
2020-06-07 02:42:58 +00:00
bc06f82f85
Merge pull request #628 from clamwin/compat-fixes-master
Eric Hawicz
2020-06-03 23:53:46 -04:00
481d0a8ede
get_cryptgenrandom_seed: compat with old windows + fallback
Gianluigi Tiesi
2020-06-01 20:49:08 +02:00
ee9f67c81a
Issue #626: Restore compatibility with cmake 2.8 by explicitly defining the PROJECT_VERSION* variables.
Eric Haszlakiewicz
2020-05-30 19:36:54 +00:00
a731ae6a75
Detect broken RDRAND during initialization.
Björn Esser
2020-05-25 13:01:18 +02:00
cc5c4345c3
Apply the fix from @pointbre in issue #626 to skip "inline" on AIX, but invert the test to make it a little easier to understand.
Eric Haszlakiewicz
2020-05-31 03:22:14 +00:00
1c6086a86a
Apply the fix from @pointbre in issue #626 to skip "inline" on AIX, but invert the test to make it a little easier to understand.
Eric Haszlakiewicz
2020-05-31 03:22:14 +00:00
fe308b8862
Issue #626: Restore compatibility with cmake 2.8 by adjusting quoting and explicitly defining the PROJECT_VERSION* variables.
Eric Haszlakiewicz
2020-05-30 19:36:54 +00:00
9ecb1222bd
Kick json_type_int and json_type_double out of struct json_object. Clean up the code in json_object_new_* a bit by dropping unnecesary json_object_base variables.
Eric Haszlakiewicz
2020-05-26 02:31:35 +00:00
eec4df641c
Detect broken RDRAND during initialization.
Björn Esser
2020-05-25 13:03:31 +02:00
0351bb55c8
Declare variables earlier, to appease Visual Studio 2010.
Eric Haszlakiewicz
2020-05-25 04:10:11 +00:00
d1f83bf5ea
Kick json_type_boolean out of struct json_object.
Eric Haszlakiewicz
2020-05-25 04:04:02 +00:00
5d89fc8a9d
Add some backwards compat for Visual Studio 2013.
Eric Haszlakiewicz
2020-05-25 03:52:36 +00:00
02b687b9a6
Kick json_type_array out of struct json_object; re-enable the test_deep_copy test.
Eric Haszlakiewicz
2020-05-25 03:44:56 +00:00
853b4b5dee
Start splitting struct json_object into multiple sub-types, as descibed at https://github.com/json-c/json-c/wiki/Proposal:-struct-json_object-split The current changes split out _only_ json_type_object, and thus have a number of hacks to allow the code to continue to build and work.
Eric Haszlakiewicz
2020-05-25 03:14:06 +00:00
4a546e7b2f
In arraylist, use malloc instead of calloc, avoid clearing with memeset until we really need to, and micro-optimize array_list_add().
Eric Haszlakiewicz
2020-05-24 03:53:32 +00:00
fbe1543644
Merge pull request #622 from besser82/topic/besser82/doc_subdir
Eric Hawicz
2020-05-18 15:30:21 -04:00
1e94da779a
CMake: Fix grammar: written -> wrote.
Björn Esser
2020-05-18 20:36:05 +02:00
61e2bae511
doc: Move Doxyfile into doc subdir
Björn Esser
2020-05-18 20:32:35 +02:00
fa6a7dccb9
With the change in cc80203, Doxyfile no longer needs to be updated for a release.
Eric Haszlakiewicz
2020-05-18 17:31:22 +00:00
cc802039a8
Merge pull request #619 from besser82/topic/besser82/doxygen_oot
Eric Hawicz
2020-05-18 13:30:13 -04:00
12b2e1159d
Merge pull request #618 from besser82/topic/besser82/test_deep_copy
Eric Hawicz
2020-05-18 13:29:21 -04:00
8f3592b3d5
CMake: Fix out-of-tree build for Doxygen documentation.
Björn Esser
2020-05-18 18:20:01 +02:00
3008401b2a
test_deep_copy: Fix assertion value.
Björn Esser
2020-05-18 17:00:17 +02:00
a8a0590921
Merge pull request #617 from besser82/topic/besser82/option_disable_tls
Eric Hawicz
2020-05-18 10:25:54 -04:00
a85d2395ff
README: Update configuration options for CMake.
Björn Esser
2020-05-18 12:39:38 +02:00
76dd99abb2
CMake: Re-format config-option block and re-order it alphabetically.
Björn Esser
2020-05-18 12:26:47 +02:00
78642dcb9b
CMake: Add an option to disable the use of thread-local storage.
Björn Esser
2020-05-18 11:38:58 +02:00
dd040ba446
tests: Fix test_double_serializer without thread-local storage.
Björn Esser
2020-05-18 11:38:36 +02:00
5b15c7567d
Merge pull request #614 from stoeckmann/format
Eric Hawicz
2020-05-16 21:04:11 -04:00
311c5e5b2b
Update issue templates
Eric Hawicz
2020-05-16 20:55:20 -04:00
0a3d22b9bb
Revert part of PR#606 and use isnan/isinf again, but provide macro implementations of those in math_compat.h is needed, as it seems to be on AIX and IBM i systems.
Eric Haszlakiewicz
2020-05-16 01:29:18 +00:00
1526c84a13
Merge pull request #606 from davidjmccann/master
Eric Hawicz
2020-05-15 21:15:18 -04:00
f2b7d0b5cb
Merge pull request #611 from besser82/topic/besser82/json-c-0.12/CVE-2020-12762
json-c-0.12
Eric Hawicz
2020-05-15 21:05:30 -04:00
4467e94110
Merge pull request #608 from besser82/topic/besser82/json-c-0.14/CVE-2020-12762
Eric Hawicz
2020-05-15 21:02:37 -04:00
d706c0bc93
Fix CVE-2020-12762.
Björn Esser
2020-05-15 20:38:40 +02:00
74accb17cd
Fix CVE-2020-12762.
Björn Esser
2020-05-15 20:38:40 +02:00
5d6fa33141
Fix CVE-2020-12762.
Björn Esser
2020-05-14 12:32:30 +02:00
86ac554d27
Merge pull request #607 from besser82/topic/besser82/json-c-0.13/CVE-2020-12762
Eric Hawicz
2020-05-14 11:23:40 -04:00
add7b13a9a
Improved support for IBM operating systems
David McCann
2020-05-13 15:57:54 +01:00