Commits on Apr 21, 2011
Commits on Apr 5, 2011
  1. Avoid set-but-not-used warning/error in a test

    Jim Meyering authored and akheron committed Apr 5, 2011
    Closes GH-20.
Commits on Mar 31, 2011
  1. jansson 2.0.1

    akheron committed Mar 31, 2011
  2. Fix a few malloc() and free() calls

    akheron committed Mar 31, 2011
    Replace them with jsonp_malloc() and jsonp_free() to support the
    custom memory allocation.
Commits on Mar 30, 2011
  1. Fix invalid object key hashing in json_unpack() strict checking mode

    akheron committed Mar 30, 2011
    The keys which are stored temporarily to a hashtable to make sure that
    all object keys are unpacked, were hashed with the object key hashing
    function. It is meant to compute hashes for object_key_t values, and
    it works incorrectly for plain strings.
    Fixed by introducing suitable functions for hashing and comparing
    strings for string-keyed hashtables.
Commits on Mar 27, 2011
  1. Test framework enhancements, fix the check_exports test

    akheron committed Mar 27, 2011
    * Use "printf" instead of "echo -n" as it's more portable
    * Treat a test as skipped if it exits with exit status of 77
    * Skip the check_exports test if "nm -D" doesn't work
Commits on Mar 21, 2011
  1. Fix json_object_size() return value

    akheron committed Mar 21, 2011
    Return 0 as documented if the argument is not a JSON object.
    Closes GH-18.
Commits on Mar 20, 2011
  1. Enhance portability of va_copy()

    akheron committed Mar 20, 2011
    va_copy() is a C99 feature. In C89 implementations, it's sometimes
    available as __va_copy(). If not, memcpy() should do the trick.
Commits on Mar 10, 2011
  1. Fix a declaration after statement

    akheron committed Mar 10, 2011
    While at it, add -Wdeclaration-after-statement to AM_CFLAGS to catch
    these in the future.
  2. Distribute doc/upgrading.rst

    akheron committed Mar 10, 2011
    Closes GH-16.
  3. Check documentation in make distcheck

    akheron committed Mar 10, 2011
    It seems that the only way to do this is to use the dvi make target,
    as it's built in make distcheck after running configure.
Commits on Feb 28, 2011
  1. jansson 2.0

    akheron committed Feb 28, 2011
Commits on Feb 27, 2011
  1. Update README

    akheron committed Feb 27, 2011
Commits on Feb 25, 2011
Commits on Feb 24, 2011
  1. Small documentation tweaks

    akheron committed Feb 24, 2011
    - Capitalize section titles correctly
    - Rename "Building on Windows" to "Building on non-Unix systems" and
      tweak the text accordingly.
    - Remove the "Installing Prebuilt Binaries" section. This info is
      better in the web instead, as it may change.
    - Mention that Sphinx 1.0 or newer is required.
Commits on Feb 22, 2011
  1. Add a CHANGES entry for version 2.0

    akheron committed Feb 22, 2011
    Wow, lots of stuff. And it's been a long while after the last release.
  2. Move json_error_t documentation to its own section

    akheron committed Feb 22, 2011
    json_error_t is used in the decoder and in the pack and unpack API's,
    so it's better to have a separate section for it.
  3. Truncate error source from start, not end, if it's too long to fit

    akheron committed Feb 22, 2011
    It's more helpful to see "" instead of "/long/path/to".
  4. Refactor decoder input stream

    akheron committed Feb 22, 2011
    - Add a new field position to the json_error_t structure. This is the
      position in bytes from the beginning of the input.
    - Keep track of line, column and input position in the stream level.
      Previously, only line was tracked, and it was in the lexer level, so
      this info was not available for UTF-8 decoding errors.
    - While at it, refactor tests so that no separate "stripped" tests are
      required. json_process is now able to strip whitespace from its
      input, and the "valid" and "invalid" test suites now use this to
      test both non-stripped and stripped input.
    Closes GH-9.
Commits on Feb 19, 2011
Commits on Feb 17, 2011
  1. Add custom memory allocation

    akheron committed Feb 17, 2011
    Thanks to Basile Starynkevitch for the suggestion and initial patch.
    Thanks to Jonathan Landis and Deron Meranda for showing how this can
    be utilized for implementing secure memory operations.
Commits on Feb 3, 2011
  1. Resolve __va_list_tag ** -> va_list * type errors with clang and futu…

    Graeme Smecher authored and akheron committed Feb 3, 2011
    …re GCCs
    Functions taking va_args are munged to receive arguments of type
    '__va_list_tag *'. This patch uses va_copy to coerce them to the expected type
    so we don't get compiler errors.
    Tested on x86_64, both 32-bit and 64-bit compiles.
    Reported-By: Basile Starynkevitch <>
Commits on Jan 30, 2011
Commits on Jan 29, 2011
  1. Tweak the default validation behaviour of the unpack API

    akheron committed Jan 29, 2011
    Now, by default, unpacking doesn't check that all array and object
    items are accessed. The check can be enabled globally by using the
    JSON_STRICT flag (formerly JSON_UNPACK_ONLY), or on a per-value basis
    by using the new '!' format character. The '*' format character is
    still available to disable the global check on a per-value basis.
Commits on Jan 26, 2011
  1. Use the Sphinx default theme again for documentation

    akheron committed Jan 25, 2011
    The "haiku" theme doesn't show chapter contents in sidebar.
Commits on Jan 25, 2011