Commit Graph

450 Commits

Author SHA1 Message Date
Eric Haszlakiewicz
deb9fa482d Issue #240: add arbitrary use of val's in foreach loops to squash warnings about unused variables. 2016-07-30 18:27:53 +00:00
Eric Haszlakiewicz
b366750e11 Merge pull request #239 from ploxiln/printbuf_empty
initialize null terminator of new printbuf
2016-07-16 13:49:08 -04:00
Pierce Lopez
868b20ce4e initialize null terminator of new printbuf
It's possible (e.g. by using json_object_from_file() on an empty file)
to get json-c to try to use a printbuf that has never had anything
written to it. Before this change, it could access a string that
should be length zero, but was never initialized, and could
theoretically have an unexpected string.
2016-07-16 00:30:31 -04:00
Eric Haszlakiewicz
2b255d0ebf Fix absolute paths in test_util_file that vary depending on where it is run. 2016-06-27 04:30:10 +00:00
Eric Haszlakiewicz
b1d65b62db Issue #113: Add more files to EXTRA_DIST and a dist-hook to get distcheck to at least not fail. 2016-06-27 04:30:04 +00:00
Eric Haszlakiewicz
1071385896 Issue #113: add "new" files to appropriate variables in Makefile, and note the need to run "make distcheck" as part of the release process.
Fix issues with the test script so it works under distcheck too.
2016-06-27 04:15:30 +00:00
Eric Haszlakiewicz
29005ef7b1 Merge pull request #238 from nagamalli9999/master
linkhash.c: optimised the table_free path
2016-06-26 23:09:42 -04:00
Eric Haszlakiewicz
29ef73f21d Issue #189: Eliminate use of MC_ERROR from json_util.c, and add a json_util_get_last_err() function to retrieve the error for those callers that care about it.
Add tests and descriptions for the functions in json_util.c
2016-06-26 02:20:33 +00:00
Eswar Yaganti
78cf6e63ff linkhash.h: removed redundant params from comments 2016-06-25 23:05:41 +05:30
Eswar Yaganti
5fb63a09f9 linkhash.c: optimised the table_free path 2016-06-25 22:50:36 +05:30
Eric Haszlakiewicz
595891729e Issue #236: Add -Wcast-qual and fix casts to retain constness.
To better distinguish between entry->k and entry->v being const within linkhash, but non-const outside, add lh_entry_v() and lh_entry_k() accessors.
Make lh_entry->k const.
2016-06-11 18:19:39 +00:00
Eric Haszlakiewicz
f285c0a2e5 Issue #175: disable the fast-and-loose code in hashlittle() when running with AddressSanitizer. 2016-06-08 03:24:59 +00:00
Eric Haszlakiewicz
ae66b24369 Mention that we're aiming to follow RFC 7159 now.
Cause README.md to show up in Doxygen output as the main page.
2016-06-08 02:37:15 +00:00
Eric Haszlakiewicz
40de3c67cd Merge pull request #232 from NeoRaider/size_t2
tests/tests1: fix printf format for size_t arguments
2016-06-07 16:47:40 -04:00
Matthias Schiffer
d13cfe10f6 tests/tests1: fix printf format for size_t arguments
Change %d to %llu and add cast to unsigned long long for size_t arguments,
otherwise compilation will fail with errors like:

test1.c:70:15: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t {aka long unsigned int}’ [-Werror=format=]

%zu is avoided to stay compatible with old libc versions (like old Visual
Studio).
2016-06-07 10:49:42 +02:00
Eric Haszlakiewicz
a42caac805 Copy over note about the 0.12.1 release to the master branch. 2016-06-07 04:13:15 +00:00
Eric Haszlakiewicz
0539191d18 Check the __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{2,4,8} defines to decide whether to use __sync_val_compare_and_swap(), as described at https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
Also, fix the types of the variables when building on Windows.
Also, should address issue #214.
2016-06-07 03:26:46 +00:00
Eric Haszlakiewicz
1eb5a700f9 Merge pull request #230 from ebassi/master
Use stdint.h to check for size_t size
2016-06-06 22:59:38 -04:00
Eric Haszlakiewicz
e61eb409fd Merge pull request #233 from NeoRaider/size_t3
Include stddef.h in json_object.h
2016-06-06 22:55:44 -04:00
Eric Haszlakiewicz
ce7ad480f4 Merge pull request #234 from NeoRaider/userdata
Add public API to use userdata independently of custom serializer
2016-06-06 22:54:40 -04:00
Michael Clark
0e1a057449 Remove reference to svn.metaparadigm.com
svn.metaparadigm.com no longer exists so it is not possible to use source from there.
2016-06-07 08:11:16 +12:00
Matthias Schiffer
f87e378d48 Add public API to get and set userdata
Also, json_object_set_serializer is changed to respect the userdata
and user_delete parameters when to_string_func is NULL.
2016-05-29 11:24:55 +02:00
Matthias Schiffer
c2b004ba0e Make default double serializer ignore userdata again
The user might want to use the userdata for something different, so the
serializer should ignore it by default.

Explicitly setting the serializer to json_object_double_to_json_string will
still make it interpret the userdata as a format string.
2016-05-29 11:24:55 +02:00
Matthias Schiffer
22fdcfc71a Include stddef.h in json_object.h
It is needed for size_t.
2016-05-29 05:19:50 +02:00
Emmanuele Bassi
28c1ca1240 Use stdint.h to check for size_t size
If we use json_inttypes.h we are going to fail when builddir != srcdir,
and since JSON_C_HAVE_INTTYPES_H is defined after the configure script
has run, including json_inttypes.h would be the equivalent on including
stdint.h anyway.

This fixes the build of json-c in the GNOME Continuous builder.
2016-05-23 10:20:48 +01:00
Eric Haszlakiewicz
7ae5c3f7a6 Issue #142: un-deprecate json_object_object_get(), but note why you might want to use json_object_object_get_ex() instead. 2016-05-23 03:02:34 +00:00
Eric Haszlakiewicz
5e4e5f7d9d Issue #205: use _strdup instead of strdup on Windows. 2016-05-23 02:37:09 +00:00
Eric Haszlakiewicz
f4ca1325ae Merge branch 'doctaweeks-fixes-for-upstream' 2016-05-23 02:12:51 +00:00
Eric Haszlakiewicz
996be85843 Fix a few places that needed adjustment for the size_t changes, including updating the range checks to use a calculated SIZE_T_MAX. 2016-05-23 02:10:58 +00:00
Eric Haszlakiewicz
9a2915ce66 Merge branch 'fixes-for-upstream' of https://github.com/doctaweeks/json-c into doctaweeks-fixes-for-upstream 2016-05-23 02:08:28 +00:00
Eric Haszlakiewicz
b2c5969aff Merge pull request #193 from jplitza/master
Make serialization format of doubles configurable
2016-05-18 16:10:27 -04:00
Jan-Philipp Litza
21dc5dc92b Export json_object_double_to_json_string() and use custom format string 2016-05-06 16:12:44 +02:00
Jan-Philipp Litza
2200ffa8b0 Fix code in docs for json_object_new_double_s() 2016-05-06 16:12:19 +02:00
Eric Haszlakiewicz
3345b25962 Add tests for the json_object_array_del_idx() function. 2016-04-30 19:09:45 +00:00
Eric Haszlakiewicz
9edf2418e0 Merge branch 'Protovision-master' 2016-04-30 18:53:16 +00:00
Eric Haszlakiewicz
1fb87cd196 Merge branch 'master' of https://github.com/Protovision/json-c into Protovision-master 2016-04-30 18:52:47 +00:00
Eric Haszlakiewicz
e3fb74942a Merge pull request #216 from Jehan/master
configure: check realloc with AC_CHECK_FUNCS() to fix cross-compilation.
2016-04-30 14:45:16 -04:00
Eric Haszlakiewicz
c6a97eb9ce Merge pull request #218 from sevan/patch-1
Use a macro to indicate C99 to the compiler
2016-04-30 14:44:29 -04:00
Eric Haszlakiewicz
82bdbdba24 Merge pull request #219 from rouault/low_heap_robustness_fixes
Fix various potential null ptr deref and int32 overflows
2016-04-30 14:44:05 -04:00
Eric Haszlakiewicz
4e0c8b55fb Merge pull request #220 from hschaa/master
Add utility function for comparing json_objects
2016-04-30 14:42:16 -04:00
Eric Haszlakiewicz
afa9f824e7 Merge pull request #222 from chenha0/master
Fix issue #221: JSON_C_TO_STRING_NOSLASHESCAPE works incorrectly
2016-04-30 14:40:30 -04:00
Eric Haszlakiewicz
02a2151b2b Merge pull request #223 from minaguib/master
Clarify json_object_get_string documentation of NULL handling & return
2016-04-30 14:36:02 -04:00
Mina Naguib
138c2a6b97 Clarify json_object_get_string documentation of NULL handling & returning 2016-02-07 20:55:25 -05:00
chenha0
dffdee966f Fix issue #221: JSON_C_TO_STRING_NOSLASHESCAPE works incorrectly
Tests added.
2016-01-21 20:12:48 +08:00
Helmut Schaa
dec5fcd50b Add some basic tests for verifying json_object_equal behavior
Do some basic checks on ints, doubles, strings, arrays and "complex" objects.
2016-01-13 15:56:39 +01:00
Helmut Schaa
00e475c434 Add utility function for comparing json_objects 2016-01-13 15:56:38 +01:00
Even Rouault
77a4276a8c Fix various potential null ptr deref and int32 overflows
This fix errors that can happen when ingesting very large JSON files
when hitting the maximum heap size of the process.
2016-01-11 12:15:54 +01:00
Sevan Janiyan
7150b7f28d Use a macro to indicate C99 to the compiler
The [AC_PROG_CC_C99 macro](https://www.gnu.org/software/autoconf/manual/autoconf-2.64/html_node/C-Compiler.html) sets the complier to the C99 standard if the compiler does not default to such behaviour (albeit gnu99). This is better than specifically hardcoding flags
2016-01-05 11:43:17 +00:00
Jehan
79c99aeb2b configure: check realloc with AC_CHECK_FUNCS() to fix cross-compilation.
AC_FUNC_REALLOC is messed up when cross-compiling, ending up in failed
build with "undefined reference to `rpl_realloc'" error.
AC_CHECK_FUNCS will work both with native and cross builds.
2016-01-01 18:46:02 +01:00
Eric Haszlakiewicz
537f8bcbdb Add const qualifiers to several functions that don't modify the json_object. 2015-12-26 21:42:18 +00:00