Go to file
nmlgc 4fbe44605b Three fixes for hashtable seeding on Windows
First, wrap "advapi32.dll" into the TEXT() macro. If UNICODE is defined,
GetModuleHandle() redirects to GetModuleHandleW(), which excepts a wchar_t*
UTF-16 parameter, thus causing a compile error. TEXT() prefixes the string
literal with L in this case, and does nothing otherwise.

Second, make sure that CryptGenRandom() is actually called through the function
pointer retrieved by the call to GetProcAddress() above.

And third, replace _getpid() with the equivalent and more ubiquitous Win32 API
function GetCurrentProcessId(). Since _getpid() is not exported by all C
runtimes on Windows (most notably the Driver Development Kit), using it might
introduce previously unneeded runtime dependencies. GetCurrentProcessId(), on
the other hand, has been available in kernel32.dll since at least Windows 95,
just like the other API functions used in this code (GetModuleHandle() and
GetProcAddress()).
2014-02-15 17:11:11 +01:00
android Update copyrights for 2014 2014-01-28 09:16:05 +02:00
cmake Merge branch '2.6' 2014-02-11 14:49:15 +02:00
doc Merge branch '2.6' 2014-02-11 14:49:15 +02:00
src Three fixes for hashtable seeding on Windows 2014-02-15 17:11:11 +01:00
test Merge branch '2.6' 2014-02-11 14:49:15 +02:00
win32 Update copyrights for 2014 2014-01-28 09:16:05 +02:00
.gitignore Ignore *.exe 2012-03-21 14:03:46 +02:00
.travis.yml Add CMake build to Travis config. 2014-01-28 14:06:43 +01:00
Android.mk Create Android.mk, preconfigured jansson_config.h and CleanSpec.mk for Android-like build systems. 2013-03-27 17:31:05 -07:00
CHANGES Merge branch '2.6' 2014-02-11 14:49:15 +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 Make valgrind happy 2014-02-12 08:54:06 +02:00
configure.ac Fix feature checks to use correct __ATOMIC flags 2014-02-12 08:44:29 +02:00
jansson.pc.in Add pkg-config support 2010-01-07 19:30:20 +02:00
LICENSE Update copyrights for 2014 2014-01-28 09:16:05 +02:00
Makefile.am Include CMake specific files in release tarballs 2013-12-13 09:22:36 +02:00
README.rst Add travis build status image more cleverly 2012-12-28 15:30:15 +02: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
  :alt: Build status
  :target: https://travis-ci.org/akheron/jansson

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
-------------

Prebuilt HTML documentation is available at
http://www.digip.org/jansson/doc/.

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/
.. _`MIT license`: http://www.opensource.org/licenses/mit-license.php
.. _Sphinx: http://sphinx.pocoo.org/