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)

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


+ 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, ...);

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

#ifdef __cplusplus
}
#endif


+ 2
- 1
json_tokener.c View File

@@ -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;
}


+ 4
- 0
json_tokener.h View File

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


+ 1
- 1
tests/test_parse.c View File

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


Loading…
Cancel
Save