Go to file
Corey Farrell 9a1d9c88fc json_pack: Enable more complete stealing of references.
Users of the "o" format have an expectation that the object reference
will be stolen.  Any error causes the collection process to end early.
This patch causes json_pack and related functions to continue scanning
the format and parameters so all references can be stolen to prevent
leaks.  This makes no attempt to continue processing if the format
string is broken or missing.

'make check' still passes.  Ran test_pack under valgrind and verified
that the leaked reference is fixed. Added a test which uses refcounts
to verify that the reference was correctly stolen after a NULL value
error.

Issue #135
2017-12-13 14:03:58 -05:00
android Update copyrights for 2016 2016-09-18 14:17:03 +03:00
cmake Update copyrights for 2016 2016-09-18 14:17:03 +03:00
doc Document that length-aware string functions have been added in 2.7 2017-12-10 16:53:01 +01:00
examples jansson 2.8 2016-08-30 21:09:28 +03:00
src json_pack: Enable more complete stealing of references. 2017-12-13 14:03:58 -05:00
test json_pack: Enable more complete stealing of references. 2017-12-13 14:03:58 -05:00
.gitignore SmartOS build fix 2014-04-06 04:28:52 +00:00
.travis.yml Add support for coverage/coveralls.io in cmake project. 2014-12-12 23:57:01 +01:00
Android.mk Android.mk: Add -DHAVE_STDINT_H to LOCAL_CFLAGS 2014-07-31 07:50:31 +03:00
appveyor.yml appveyor.yml: Build on all Visual Studio versions 2016-06-03 12:08:36 +03:00
CHANGES jansson 2.10 2017-03-02 20:49:42 +02:00
CleanSpec.mk Create Android.mk, preconfigured jansson_config.h and CleanSpec.mk for Android-like build systems. 2013-03-27 17:31:05 -07:00
CMakeLists.txt Fixes akheron/jansson#373 2017-11-07 19:32:14 +11:00
configure.ac jansson 2.10 2017-03-02 20:49:42 +02:00
jansson.pc.in build: Use Autoconf macro @includedir@ for jansson.pc. 2017-04-12 22:36:58 +02:00
LICENSE Update copyrights for 2016 2016-09-18 14:17:03 +03:00
Makefile.am jansson 2.8 2016-08-30 21:09:28 +03:00
README.rst Change readthedocs domain 2016-04-28 07:04:00 +03:00
release.sh Compress bz2 doc tarballs with bzip2 instead of gzip 2013-01-06 14:18:28 +02:00

Jansson README
==============

.. image:: https://travis-ci.org/akheron/jansson.png
  :target: https://travis-ci.org/akheron/jansson
  
.. image:: https://ci.appveyor.com/api/projects/status/lmhkkc4q8cwc65ko
  :target: https://ci.appveyor.com/project/akheron/jansson

.. image:: https://coveralls.io/repos/akheron/jansson/badge.png?branch=master
  :target: https://coveralls.io/r/akheron/jansson?branch=master

Jansson_ is a C library for encoding, decoding and manipulating JSON
data. Its main features and design principles are:

- Simple and intuitive API and data model

- `Comprehensive documentation`_

- No dependencies on other libraries

- Full Unicode support (UTF-8)

- Extensive test suite

Jansson is licensed under the `MIT license`_; see LICENSE in the
source distribution for details.


Compilation and Installation
----------------------------

If you obtained a source tarball, just use the standard autotools
commands::

   $ ./configure
   $ make
   $ make install

To run the test suite, invoke::

   $ make check

If the source has been checked out from a Git repository, the
./configure script has to be generated first. The easiest way is to
use autoreconf::

   $ autoreconf -i


Documentation
-------------

Documentation is available at http://jansson.readthedocs.io/en/latest/.

The documentation source is in the ``doc/`` subdirectory. To generate
HTML documentation, invoke::

   $ make html

Then, point your browser to ``doc/_build/html/index.html``. Sphinx_
1.0 or newer is required to generate the documentation.


.. _Jansson: http://www.digip.org/jansson/
.. _`Comprehensive documentation`: http://jansson.readthedocs.io/en/latest/
.. _`MIT license`: http://www.opensource.org/licenses/mit-license.php
.. _Sphinx: http://sphinx.pocoo.org/