Browse Source

Deprecated a few typedefs, add docs on json_object_iter, move json_number_chars and json_hex-chars to json_object_private.h.

tags/json-c-0.13-20171207
Eric Haszlakiewicz 7 years ago
parent
commit
11ab365324
5 changed files with 27 additions and 10 deletions
  1. +17
    -8
      json_object.h
  2. +3
    -0
      json_object_private.h
  3. +2
    -1
      json_tokener.c
  4. +4
    -0
      json_tokener.h
  5. +1
    -1
      tests/test_parse.c

+ 17
- 8
json_object.h View File

@@ -129,26 +129,35 @@ extern "C" {
*/ */
#define JSON_C_OPTION_THREAD (1) #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 struct json_object_iter
{ {
char *key; char *key;
struct json_object *val; struct json_object *val;
struct lh_entry *entry; struct lh_entry *entry;
}; };
typedef struct json_object_iter json_object_iter;


/* forward structure definitions */ /* forward structure definitions */


typedef int json_bool;
/**
* @deprecated Unused in json-c sources
*/
typedef struct printbuf printbuf; typedef struct printbuf printbuf;
/**
* @deprecated Unused in json-c sources
*/
typedef struct lh_table lh_table; typedef struct lh_table lh_table;
/**
* @deprecated Unused in json-c sources
*/
typedef struct array_list array_list; typedef struct array_list array_list;

typedef int json_bool;
typedef struct json_object json_object; 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. * 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) /** Iterate through all keys and values of an object (ANSI C Safe)
* @param obj the json_object instance * @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) \ #define json_object_object_foreachC(obj,iter) \
for(iter.entry = json_object_get_object(obj)->head; \ for(iter.entry = json_object_get_object(obj)->head; \


+ 3
- 0
json_object_private.h View File

@@ -50,6 +50,9 @@ struct json_object


void _json_c_set_last_err(const char *err_fmt, ...); void _json_c_set_last_err(const char *err_fmt, ...);


extern const char *json_number_chars;
extern const char *json_hex_chars;

#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif


+ 2
- 1
json_tokener.c View File

@@ -29,6 +29,7 @@
#include "arraylist.h" #include "arraylist.h"
#include "json_inttypes.h" #include "json_inttypes.h"
#include "json_object.h" #include "json_object.h"
#include "json_object_private.h"
#include "json_tokener.h" #include "json_tokener.h"
#include "json_util.h" #include "json_util.h"
#include "strdup_compat.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]; 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; return tok->err;
} }


+ 4
- 0
json_tokener.h View File

@@ -86,6 +86,10 @@ struct json_tokener
struct json_tokener_srec *stack; struct json_tokener_srec *stack;
int flags; int flags;
}; };
/**
* @deprecated Unused in json-c code
*/
typedef struct json_tokener json_tokener;


/** /**
* Be strict when parsing JSON input. Use caution with * Be strict when parsing JSON input. Use caution with


+ 1
- 1
tests/test_parse.c View File

@@ -296,7 +296,7 @@ static void test_incremental_parse()
{ {
json_object *new_obj; json_object *new_obj;
enum json_tokener_error jerr; enum json_tokener_error jerr;
json_tokener *tok;
struct json_tokener *tok;
const char *string_to_parse; const char *string_to_parse;
int ii; int ii;
int num_ok, num_error; int num_ok, num_error;


Loading…
Cancel
Save