Commit Graph

  • 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
  • 5385a566db Prevent truncation on custom double formatters. Tobias Stoeckmann 2020-05-16 13:01:10 +02: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
  • 865b5a6519 Fix CVE-2020-12762. Björn Esser 2020-05-14 12:32:30 +02:00
  • d414d3eabc Issue #604: add check for __MINGW32__ in snprintf_compat.h Eric Haszlakiewicz 2020-05-13 14:53:05 +00:00
  • 2e71fe0963 Display a bit of info about what exactly we're benchmarking. Eric Haszlakiewicz 2020-05-11 03:03:43 +00:00
  • 199c52e2db Ignore the bench/work and bench/data directories. Eric Haszlakiewicz 2020-05-11 01:24:46 +00:00
  • 3648c3ed2c Merge pull request #602 from ploxiln/parse_uint64_errno Eric Hawicz 2020-05-10 21:15:47 -04:00
  • 003b58782b fix json_parse_uint64() usage of errno Pierce Lopez 2020-05-10 13:20:02 -04:00
  • 26f080997d Fix snprintf on windows problem for test4. Eric Haszlakiewicz 2020-05-10 04:04:28 +00:00
  • 06742d6277 Issue #600: don't rename the static library on Windows, it _needs_ to have a different name because the dll build also creates a "json-c.lib" file. Eric Haszlakiewicz 2020-05-10 03:58:51 +00:00
  • a59d5acfab Re-format after recent change to fix linkhash. Eric Haszlakiewicz 2020-05-10 03:58:27 +00:00
  • 4f43a077a4 Issue #598: avoid building static libraries twice. Eric Haszlakiewicz 2020-05-10 03:48:45 +00:00
  • 519dfe1591 Issue #599: Fix the backwards check in lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add a test to check for this too. Eric Haszlakiewicz 2020-05-10 03:32:19 +00:00
  • 45b6416652 Merge branch 'master' of https://github.com/json-c/json-c Eric Hawicz 2020-05-08 22:25:15 -04:00
  • abc9a0731b Merge pull request #597 from ploxiln/json_parse_usage Eric Hawicz 2020-05-08 22:23:28 -04:00
  • 090ae4e4d4 json_parse demo: fix and use usage() function Pierce Lopez 2020-05-08 18:27:35 -04:00
  • 22870ac2bd Merge pull request #595 from dota17/static_shared Eric Hawicz 2020-05-07 23:23:15 -04:00
  • a100573eec cmake-configure: fix enable-static option hofnarr 2020-05-08 02:27:06 +03:00
  • 558ef8609c cmake: change variable name hofnarr 2020-05-08 02:19:38 +03:00
  • 929d74512a cmake: add list for build targets hofnarr 2020-05-08 02:16:52 +03:00
  • e97fc20bfd update dota17 2020-05-07 14:50:43 +08:00
  • 31243e4d12 Merge pull request #592 from stoeckmann/oob Eric Hawicz 2020-05-06 23:31:15 -04:00
  • d07b910149 Fix integer overflows. Tobias Stoeckmann 2020-05-04 19:47:25 +02:00
  • 952db0f397 support to build both static and shared libraries dota17 2020-05-06 10:48:53 +08:00
  • 77d935b7ae Prevent division by zero in linkhash. Tobias Stoeckmann 2020-05-04 19:46:45 +02:00
  • 099016b7e8 Protect array_list_del_idx against size_t overflow. Tobias Stoeckmann 2020-05-04 19:41:16 +02:00
  • 8e3d3d5544 Make the benchmark work with pre-cmake versions of json-c. Fetch a few more data files. Eric Haszlakiewicz 2020-05-04 03:40:40 +00:00