73c22de516
* Test equality of different length strings. * Add tab to json_pack whitespace test. * Test json_sprintf with empty result and invalid UTF. * Test json_get_alloc_funcs with NULL arguments. * Test invalid arguments. * Add test_chaos to test allocation failure code paths. * Remove redundant json_is_string checks from json_string_equal and json_string_copy. Both functions are static and can only be called with a json string. Fixes to issues found by test_chaos: * Fix crash on OOM in pack_unpack.c:read_string(). * Unconditionally free string in string_create upon allocation failure. Update load.c:parse_value() to reflect this. This resolves a leak on allocation failure for pack_unpack.c:pack_string() and value.c:json_sprintf(). Although not visible from CodeCoverage these changes significantly increase branch coverage. Especially in src/value.c where we previously covered 67.4% of branches and now cover 96.3% of branches. |
||
---|---|---|
android | ||
cmake | ||
doc | ||
examples | ||
src | ||
test | ||
.gitignore | ||
.travis.yml | ||
Android.mk | ||
appveyor.yml | ||
CHANGES | ||
CleanSpec.mk | ||
CMakeLists.txt | ||
configure.ac | ||
jansson.pc.in | ||
LICENSE | ||
Makefile.am | ||
README.rst | ||
release.sh |
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/