Commit Graph
100 Commits
Author SHA1 Message Date
Eric Haszlakiewicz 4d1e0b4409 Issue #371: fix parsing of "-Infinity" (although in a somewhat different location than PR#372 used), and add a case to test_parse to check for this. 2017-11-26 22:44:39 -05:00
Eric Haszlakiewicz 2a22858fe7 Add a few extra cases to test_parse to show how trailing bytes are handled, especially for parsing "Infinity". 2017-11-26 22:34:43 -05:00
Eric Haszlakiewicz b8738dd623 Rewrite test_basic_parse() to factor out a single_basic_parse() to avoid lots of duplicate boiler plate code.
Also, emit the input string in the output so it's easier to see what's going on.
2017-11-26 22:33:36 -05:00
Eric Haszlakiewicz 05c85ddc21 On VS 2013 and newer, actually use strtoll instead of redefining it to _strtoi64. 2017-11-26 14:17:17 -05:00
Eric Haszlakiewicz 04788421fe Merge pull request #373 from commodo/fix-appveyor-build
build: fix build on appveyor CI
2017-11-26 14:08:53 -05:00
Eric Haszlakiewicz 49003242d1 Merge pull request #381 from busterb/fix-makedist
Fix makedist
2017-11-26 13:57:54 -05:00
Eric Haszlakiewicz fabb84a785 Remove out of date win32 build information, and mention the need to use cmake there. 2017-10-22 22:46:05 -04:00
Eric Haszlakiewicz e424af32b7 Fix definition of NELEM in the tests. 2017-10-22 22:28:35 -04:00
Eric Haszlakiewicz ac09581cc2 Issue #370: work around Clang-on-windows oddities by rearranging ifdefs. 2017-10-22 22:19:41 -04:00
Eric Haszlakiewicz c9c84ca7ee Issue #369: note some useful settings when building for Android. 2017-10-19 23:30:51 -04:00
Eric Haszlakiewicz cf913621f1 Use cmake to create the json-c.pc file, as suggested by PR#362. 2017-10-09 13:16:00 -04:00
Eric Haszlakiewicz 579f0746f0 Issue #173, follow up to using strtoll to allow this to work on older Windows environments: Use cmake to generate config.h from config.h.win32, including checking for strtoll with cmake, or fall back to _strtoi64 for older MSVC's.
Also, add a few missing files to the list of sources to build.
2017-10-03 22:50:29 -04:00
Eric Haszlakiewicz cfbdf7757b The new cmake-generated VS builds now generate a dynamic .dll instead of a .lib 2017-09-17 21:44:04 -04:00
Eric Haszlakiewicz 139eb64b43 For appveyor builds, json_config.h is actually generated in the "include" directory. 2017-09-17 21:35:53 -04:00
Eric Haszlakiewicz 66a77d129a Split the list of cmake headers into public and private ones, and only install the public ones. 2017-09-17 21:27:07 -04:00
Eric Haszlakiewicz 8899f3fbfb Add a "cmake ." line to the appveyor build file to try to get it working again. 2017-09-17 21:25:49 -04:00
Eric Haszlakiewicz dc79d94c38 Merge pull request #361 from schwehr/int64
Fix double to int cast overflow in json_object_get_int64.
2017-09-11 21:25:27 -04:00
Eric Haszlakiewicz 5454c4eaa3 Merge pull request #360 from jasonbking/master
Use strtoll() to parse ints
2017-09-07 22:45:48 -04:00
Eric Haszlakiewicz 4ac47a0219 Issue#353: attempt to fix or ignore a few -Wdocumentation messages from Clang. 2017-09-07 22:22:25 -04:00
Eric Haszlakiewicz edde8eff9f Issue#353: mark lh_abort as actually deprecated, not just in the docs. 2017-09-07 22:21:29 -04:00
Eric Haszlakiewicz e1561ed1df Remove the Visual Studio project files as they were out of date, and should now be generated by using cmake. 2017-09-06 23:50:03 -04:00
Eric Haszlakiewicz 7e608c5728 Issue #359: Use consistent spacing in CMakeLists.txt 2017-09-06 23:42:38 -04:00
Eric Haszlakiewicz 32f503f738 Issue #359: Don't duplicate lh_get_hash, just omit the "inline" for VS2010. 2017-09-06 23:42:30 -04:00
Eric Haszlakiewicz d58693b0f0 Merge pull request #359 from Haffon/api-0.12
update CMakeLists.txt for compile with visual studio at least 2010
2017-09-06 23:20:36 -04:00
Eric Haszlakiewicz 548d000891 Undo a bit of 2d1da5ab: handle per-thread formats for double serialization, even if --enable-threading wasn't specified. 2017-09-05 01:56:42 -04:00
Eric Haszlakiewicz b2afca4560 Issue #173: since some sscanf implementations return 0 for non-zero inputs, directly check for "0" in the input. 2017-09-05 01:53:13 -04:00
Eric Haszlakiewicz 2d1da5ab13 Add a --enable-threading configure option, and only use the (slower) __sync_add_and_fetch()/__sync_sub_and_fetch() function when it is specified. 2017-09-03 23:37:12 -04:00
Eric Haszlakiewicz 8777c9477a Use AC_CONFIG_MACRO_DIRS to specify path to the ax macros instead of passing -I to autoreconf in autogen.sh. 2017-09-03 22:35:58 -04:00
Eric Haszlakiewicz 5b11e9adff Explicitly check for GCC's atomic functions instead of depending on the __GNUC__ define.
Add a comment mentioning the limitation even though the _ref_count value is hanled atomically.
2017-09-02 14:48:17 -04:00
Eric Haszlakiewicz ab0d4dbc69 Merge branch 'pull-211'
This is EmielBruijntes' "Atomic updates for the refcount"
2017-09-02 13:54:15 -04:00
Eric Haszlakiewicz 95dff31951 Issue #351: don't redefine SIZE_T_MAX if it's already defined. 2017-08-30 23:35:56 -04:00
Eric Haszlakiewicz 447d67d5f3 Issue #349: none of automake's clean targets are suite for really cleaning up everything, so add a local "really-clean" target that does so. 2017-08-30 23:17:24 -04:00
Eric Haszlakiewicz 81f6edbfd5 PR#331: for Visual Studio, use a snprintf/vsnprintf wrapper that ensures the string is terminated. 2017-08-25 01:15:39 -04:00
Eric Haszlakiewicz 256ebcd827 Merge pull request #346 from schwehr/get_int
Clamp double to int32 when narrowing in json_object_get_int.
2017-08-21 20:50:58 -05:00
Eric Haszlakiewicz 474376f30a Merge pull request #345 from MrAnno/fix-make-dist
Fix make dist and make distcheck
2017-08-21 20:50:20 -05:00
Eric Haszlakiewicz 2f1fe55f66 Merge pull request #344 from fastogt/master
Fix Mingw build
2017-08-21 20:39:11 -05:00
Eric Haszlakiewicz af87944585 PR #336: fix to previous change, be sure to include string.h when we're using the real strerror. 2017-07-27 20:17:25 -07:00
Eric Haszlakiewicz 36dbe2d74e PR #336: Fix typo in defining STRERROR_OVERRIDE_IMPL 2017-07-27 20:10:53 -07:00
Eric Haszlakiewicz 8d8a785bd2 Merge pull request #340 from commodo/fix-appveyor-build
strerror_override: add extern "C" and JSON_EXPORT specifiers for Visual C++ compilers
2017-07-27 23:09:12 -04:00
Eric Haszlakiewicz fcad0ec015 PR #336: since we can't use function overriding (due to problems with it on
OSX) always include the _json_c_strerror function but only enable it with a flag
 during tests.
2017-07-15 07:12:44 -07:00
Eric Haszlakiewicz 730ab7b019 PR #336: since we can't use function overriding (due to problems with it on OSX) always include the _json_c_strerror function but only enable it with a flag during tests. 2017-07-15 07:07:28 -07:00
Eric Haszlakiewicz 40317f079e Allow USE_VALGRIND to be set to anything starting with 0, N or n to disable valgrind during tests. 2017-07-15 07:03:18 -07:00
Eric Haszlakiewicz c0b7d762b2 Merge pull request #336 from commodo/fix-tests
tests: fix tests in travis-ci.org
2017-07-13 22:39:01 -04:00
Eric Haszlakiewicz dd8dcb8228 Merge pull request #335 from commodo/build_status_travis
README.md: show build status tag from travis-ci.org
2017-07-11 00:16:12 -04:00
Eric Haszlakiewicz b64402ede2 Move a variable declaration to the start of the block to work better with older compilers. 2017-07-09 16:09:09 -07:00
Eric Haszlakiewicz a14ada5730 Remove a spurious comma in configure.ac 2017-07-09 16:00:32 -07:00
Eric Haszlakiewicz 33db761551 Updated expected test1 output which should have been included in commit fd9b3b2. 2017-07-09 15:22:53 -07:00
Eric Haszlakiewicz 1d3e97f2ab Comment out the warning about racy random seed initialization in lh_char_hash(), if you're on a platform where it'll be triggered it just makes it a pain to build. 2017-07-09 15:13:02 -07:00
Eric Haszlakiewicz f7a44ad101 Add extra casts to void * to squash some warning on certain systems (e.g. CentOS w/ gcc 4.1.2). 2017-07-09 15:08:21 -07:00
Eric Haszlakiewicz 7b7a76e161 Fix bad usage of strncat introduces in 1a94c70. Pointed out by @rouault in PR #331. 2017-07-09 15:04:18 -07:00
Eric Haszlakiewicz 55ecae3e58 Eliminate static qualifiers on a couple local variables that were causing thread safety issues. Suggested by @rouault in PR #331. 2017-07-09 14:56:18 -07:00
Eric Haszlakiewicz 5a99e527ff Reformat json_object_double_to_json_string_format() to have consistent spacing. 2017-07-08 20:33:28 -07:00
Eric Haszlakiewicz 5e33dabda1 Issue #308: improve the build instructions in README.md to include the exact commands to run for installing prerequisites, as mentioned earlier on Issue #308. 2017-07-08 19:35:06 -07:00
Eric Haszlakiewicz fd9b3b2260 Issue #332: fix a long-standing bug in array_list_put_idx() where it would attempt to free previously free'd entries due to not checking the current array length.
Add a test that triggers the problem to ensure it stays fixed.
2017-07-08 19:04:35 -07:00
Eric Haszlakiewicz 7fd74fc7a3 Merge pull request #312 from Tailmon/master
Fix CMake Build process improved for MinGW and MSYS2
2017-07-08 21:25:48 -04:00
Eric Haszlakiewicz 4deed587e7 Merge pull request #319 from Dashlane/visual-studio-build
Windows: Fix dynamic library build with Visual Studio
2017-07-08 21:24:55 -04:00
Eric Haszlakiewicz a3f97eeeeb Merge pull request #329 from commodo/rename-static-lib
build,cmake: build,cmake: rename libjson-c-static.a to libjson-c.a
2017-07-08 15:44:27 -04:00
Eric Haszlakiewicz db3115cee9 Merge pull request #330 from commodo/symlink_some_tests
tests: symlink basic tests to a single file that has the common code
2017-07-08 15:43:45 -04:00
Eric Haszlakiewicz cc201fdcaa Merge pull request #333 from besser82/bugfix/obsolete_macros_autotools
Replace obsolete AM_PROG_LIBTOOL
2017-07-08 15:17:17 -04:00
Eric Haszlakiewicz a36396992d Merge pull request #321 from commodo/fix-cmake-vasprintf
build,cmake: fix vasprintf implicit definition and generate both static & shared libs
2017-06-19 00:34:44 -04:00
Eric Haszlakiewicz e8e574fbe4 Issue #161: add a json_object_to_fd() function. 2017-06-18 18:44:45 +00:00
Eric Haszlakiewicz 23e064ad29 Fix test_double_serializer expected output. 2017-06-18 18:34:41 +00:00
Eric Haszlakiewicz 1a94c70336 Add a json_c_set_serialization_double_format() function to set the *library-wide* format for how doubles are written to a serialized JSON output. 2017-06-18 18:12:07 +00:00
Eric Haszlakiewicz 8581806558 Make _set_last_err() non-static so it can be used outside of json_util.c 2017-06-18 18:11:17 +00:00
Eric Haszlakiewicz e76ea37772 Merge pull request #325 from rouault/fix_stack_overflow_in_json_object_double_to_json_string_format
Fix stack buffer overflow in json_object_double_to_json_string_format()
2017-05-21 21:35:16 -04:00
Eric Haszlakiewicz 6bd86d1044 Merge pull request #311 from jj1118/master
Fix error C3688 when compiling on Visual Studio 2015
2017-03-26 03:52:57 +00:00
Eric Haszlakiewicz 4e673656a1 Merge pull request #310 from marxin/fix-gcc7-warnings
Add FALLTHRU comment to handle GCC7 warnings.
2017-03-22 23:37:14 -04:00
Eric Haszlakiewicz 82f5a4ab29 Merge pull request #305 from alexanderst/master
Fix compilation without C-99 option
2017-03-03 23:12:56 -05:00
Eric Haszlakiewicz 8c86207258 Add a few more cases to test_parse to provide some examples of how parsing works; should help address the questions raised in Issue #302. 2017-02-26 16:22:45 +00:00
Eric Haszlakiewicz d74b7eb144 Merge pull request #303 from yogo1212/tokener_h
fix doc in tokener header file
2017-02-24 22:34:36 -05:00
Eric Haszlakiewicz 3948fcad2d Issue #300: Cast size_t values to int instead of unsigned long long to work around broken behavior of MinGW. 2017-02-05 17:00:35 +00:00
Eric Haszlakiewicz bad6c9a427 Issue #300: Some platforms, such as MinGW, don't have ETXTBSY and ENOTBLK, so skip those there. 2017-02-05 04:44:30 +00:00
Eric Haszlakiewicz 9a64fd7d55 Issue #300: Use %p instead of %lx in test_util_file since some platforms' pointers are larger than "unsigned long".
Also, there's no need to worry about output consistency here, since it'll be
 different anyway due to different pointer values.
2017-02-05 04:38:53 +00:00
Eric Haszlakiewicz 91977159ee Add cast to int in calls to isdigit() since some platforms complain about char being used as an array index. 2017-02-05 04:34:05 +00:00
Eric Haszlakiewicz 3fab117e4e Merge pull request #299 from qlyoung/perf-improvements
Improve json_object -> string performance
2017-02-04 11:13:14 -05:00
Eric Haszlakiewicz 75825a9f01 Use strdup instead of strndup in test1.c, there's no need for the latter because json_object_to_json_string_length() will always return a properly sized string. 2017-02-03 17:10:27 +00:00
Eric Haszlakiewicz 8157784483 Issue #295: also check if size_t is the size of long long, to help support 64-bit Windows platforms. 2017-01-07 22:55:31 -05:00
Eric Haszlakiewicz 177c401e02 Ignore tests/test_float 2016-12-18 14:35:06 -05:00
Eric Haszlakiewicz 0a010a59eb Change a memcpy that should be a memmove within json_pointer_get, and fix memory leaks in of one the json_pointer tests. 2016-12-18 14:33:41 -05:00
Eric Haszlakiewicz 779b77a164 Note some minimum versions needed for autoconf, etc... 2016-12-12 23:01:20 -05:00
Eric Haszlakiewicz a443b9f7e7 Issue#292: bump the required version of configure listed in configure.ac so a more useful error message is generated, rather than failing later because the extra macros from ./autoconf-archive/m4/ didn't get loaded. 2016-12-11 19:18:33 -08:00
Eric Haszlakiewicz 1e4824a841 Merge pull request #289 from jgerhards/i-278
bugfix: floating point representaion without fractional part
2016-12-04 20:52:33 -05:00
Eric Haszlakiewicz d050f1e622 Merge pull request #287 from commodo/json_pointer_va_args
json_pointer: extend setter & getter with printf() style arguments
2016-11-24 15:03:50 -05:00
Eric Haszlakiewicz 8e12f4a21c Merge pull request #285 from ebassi/revert-strdup-compat
Revert "compat/strdup.h: move common compat check for strdup() to own…
2016-11-09 09:56:58 -05:00
Eric Haszlakiewicz e8ce1db471 Merge pull request #283 from commodo/json_pointer
json_pointer: add first revision based on RFC 6901
2016-11-04 11:48:30 -04:00
Eric Haszlakiewicz d4899bd4d5 Handle NULL objects in json_object_get_userdata() by returning NULL, but abort in json_object_set_userdata() since we can't actually do anything with the userdata. 2016-10-29 15:42:36 -04:00
Eric Haszlakiewicz f8132f932d Issue #280: add a few assert() calls to ensure objects are of the appropriate type. 2016-10-29 15:31:31 -04:00
Eric Haszlakiewicz 33339ae595 Use json_visit() to clear the serializer data set when parsing so the output from test_parse reflects the actual values parsed. 2016-10-29 15:13:16 -04:00
Eric Haszlakiewicz ecdc14f535 Add a json_c_visit() function to provide a way to iterate over a tree of json-c objects. 2016-10-29 15:01:20 -04:00
Eric Haszlakiewicz 7e12b9f47c Fix broken key-order test in test_compare. 2016-10-10 00:13:39 -04:00
Eric Haszlakiewicz 80150a18d3 Merge pull request #272 from sgerbino/master
Allows for compilation with CMake on macOS
2016-10-08 13:13:33 -04:00
Eric Haszlakiewicz 818156f6f7 Merge pull request #277 from ALLTERCO/json_object_set_xxx
Json object set xxx
2016-10-08 12:08:53 -04:00
Eric Haszlakiewicz 36a28fcb0c Issue #275: fix out of bounds read when handling unicode surrogate pairs. 2016-10-05 23:15:51 -04:00
Eric Haszlakiewicz 5fd99e62ed Merge pull request #273 from konoal/master
fixed wrong object name in json_object_all_values_equal
2016-09-28 08:08:01 -04:00
Eric Haszlakiewicz 5653bc61a4 Merge pull request #274 from pepevel/master
Support for 64 bit pointers on Windows
2016-09-28 08:05:50 -04:00
Eric Haszlakiewicz 9f9c3326fe Merge pull request #267 from sixlettervariables/patch-1
Removes me as Win32 maintainer, because I'm not.
2016-09-12 18:19:26 -04:00
Eric Haszlakiewicz ea1499a372 Issue #263: add const so the prototype for json_object_object_add_ex() matches the definition. 2016-08-24 23:41:22 -04:00
Eric Haszlakiewicz 0fcf1d1ae7 Fix memory leak and inconsistent output (due to varying fd numbers) in test_util_file. 2016-08-20 23:06:22 -04:00
Eric Haszlakiewicz 5fccfed4f4 Issue #260: add a check to prevent trivial loops in the object tree, even though it is up to the callers to avoid doing so in more complex cases. 2016-08-20 22:42:59 -04:00
Eric Haszlakiewicz c4d060bf80 json_object_object_add_ex() should have shared code with json_object_object_add(), and been changed to return int at the same time the latter was. Do that now.
Also correct a couple of calls to _to_json_string to check the return value.
2016-08-20 22:42:59 -04:00