Simplify cJSON and add new macros.
authorWerner Koch <wk@gnupg.org>
Wed, 2 Apr 2014 07:01:42 +0000 (09:01 +0200)
committerWerner Koch <wk@gnupg.org>
Wed, 2 Apr 2014 07:12:02 +0000 (09:12 +0200)
commit7ae7ef29bc5ec19e005e6a5a739233d655f3f05f
treea642aa1d6b9e63b781ad46078abb9747ce777b48
parent215a1b7f2b18d519968b09e037cee7a9b05f10ba
Simplify cJSON and add new macros.

* src/cJSON.h: Re-indented.
(cjson_t): New.
(cjson_is_): New macros.
* src/cJSON.c: Re-indented.  Include errno.h and our util.h.
(ep): Remove global var.
(cJSON_GetErrorPtr): Remove.
(cJSON_strcasecmp): Cast args for use with tolower.
(cJSON_malloc, cJSON_free): Remove.  Change callers to use xtrymalloc
and xfree.
(cJSON_InitHooks): Remove.
(cJSON_strdup): Remove.  Change callers to use xtrystrdup.
(cJSON_New_Item): Simplify.
(cJSON_ParseWithOpts, cJSON_Parse): Add arg R_ERROFF.
(parse_string, parse_value, parse_array, parse_object): Add arg EP.
--

cJSON has been taken from cjson-code-58.zip.  The README file has been
renamed to cJSON.readme and the files have been changed to GNU coding
standards.  Because that parser is small enough to be source copied it
does not make sense to treat it as a library and I changed the memory
allocation functions to the usual xmalloc ones. The only external
dependency now is out util.h which declares those functions.

The lowercase cjson_t better fits into our coding style as well as the
new macros.  Thanks to Dave Gamble for this nice parser.
AUTHORS
src/cJSON.c
src/cJSON.h