From 11ab365324312af38b6a972c4cc84069ad3a9dbb Mon Sep 17 00:00:00 2001 From: Eric Haszlakiewicz Date: Tue, 5 Dec 2017 09:20:59 -0500 Subject: [PATCH] Deprecated a few typedefs, add docs on json_object_iter, move json_number_chars and json_hex-chars to json_object_private.h. --- json_object.h | 25 +++++++++++++++++-------- json_object_private.h | 3 +++ json_tokener.c | 3 ++- json_tokener.h | 4 ++++ tests/test_parse.c | 2 +- 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/json_object.h b/json_object.h index 83ce066..3141a42 100644 --- a/json_object.h +++ b/json_object.h @@ -129,26 +129,35 @@ extern "C" { */ #define JSON_C_OPTION_THREAD (1) -extern const char *json_number_chars; -extern const char *json_hex_chars; - -/* CAW: added for ANSI C iteration correctness */ +/** + * A structure to use with json_object_object_foreachC() loops. + * Contains key, val and entry members. + */ struct json_object_iter { char *key; struct json_object *val; struct lh_entry *entry; }; +typedef struct json_object_iter json_object_iter; /* forward structure definitions */ -typedef int json_bool; +/** + * @deprecated Unused in json-c sources + */ typedef struct printbuf printbuf; +/** + * @deprecated Unused in json-c sources + */ typedef struct lh_table lh_table; +/** + * @deprecated Unused in json-c sources + */ typedef struct array_list array_list; + +typedef int json_bool; typedef struct json_object json_object; -typedef struct json_object_iter json_object_iter; -typedef struct json_tokener json_tokener; /** * Type of custom user delete functions. See json_object_set_serializer. @@ -531,7 +540,7 @@ JSON_EXPORT void json_object_object_del(struct json_object* obj, const char *key /** Iterate through all keys and values of an object (ANSI C Safe) * @param obj the json_object instance - * @param iter the object iterator + * @param iter the object iterator, use type json_object_iter */ #define json_object_object_foreachC(obj,iter) \ for(iter.entry = json_object_get_object(obj)->head; \ diff --git a/json_object_private.h b/json_object_private.h index 325005a..0abbca2 100644 --- a/json_object_private.h +++ b/json_object_private.h @@ -50,6 +50,9 @@ struct json_object void _json_c_set_last_err(const char *err_fmt, ...); +extern const char *json_number_chars; +extern const char *json_hex_chars; + #ifdef __cplusplus } #endif diff --git a/json_tokener.c b/json_tokener.c index 620468e..449a82d 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -29,6 +29,7 @@ #include "arraylist.h" #include "json_inttypes.h" #include "json_object.h" +#include "json_object_private.h" #include "json_tokener.h" #include "json_util.h" #include "strdup_compat.h" @@ -94,7 +95,7 @@ const char *json_tokener_error_desc(enum json_tokener_error jerr) return json_tokener_errors[jerr]; } -enum json_tokener_error json_tokener_get_error(json_tokener *tok) +enum json_tokener_error json_tokener_get_error(struct json_tokener *tok) { return tok->err; } diff --git a/json_tokener.h b/json_tokener.h index 414c9d6..0ae4489 100644 --- a/json_tokener.h +++ b/json_tokener.h @@ -86,6 +86,10 @@ struct json_tokener struct json_tokener_srec *stack; int flags; }; +/** + * @deprecated Unused in json-c code + */ +typedef struct json_tokener json_tokener; /** * Be strict when parsing JSON input. Use caution with diff --git a/tests/test_parse.c b/tests/test_parse.c index c68e123..ee1f838 100644 --- a/tests/test_parse.c +++ b/tests/test_parse.c @@ -296,7 +296,7 @@ static void test_incremental_parse() { json_object *new_obj; enum json_tokener_error jerr; - json_tokener *tok; + struct json_tokener *tok; const char *string_to_parse; int ii; int num_ok, num_error; -- 2.40.0