Added is_modified feature to json_t struct

Added is_modified field to json_t struct along with getter and setter
methods.
This commit is contained in:
Michael Chen 2015-07-06 11:38:03 -04:00
parent fef27e6d3e
commit 7e60fbe049
2 changed files with 9 additions and 0 deletions

View File

@ -50,6 +50,7 @@ typedef enum {
typedef struct json_t {
json_type type;
size_t refcount;
boolean is_modified;
} json_t;
#ifndef JANSSON_USING_CMAKE /* disabled if using cmake */
@ -78,6 +79,7 @@ typedef long json_int_t;
#define json_boolean_value json_is_true
#define json_is_boolean(json) (json_is_true(json) || json_is_false(json))
#define json_is_null(json) ((json) && json_typeof(json) == JSON_NULL)
#define json_is_modified(json) ((json)->is_modified)
/* construction, destruction, reference counting */
@ -129,6 +131,8 @@ typedef struct {
/* getters, setters, manipulation */
int json_set_modified(json_t *json_object, bool input);
void json_object_seed(size_t seed);
size_t json_object_size(const json_t *object);
json_t *json_object_get(const json_t *object, const char *key);

View File

@ -44,6 +44,11 @@ static JSON_INLINE void json_init(json_t *json, json_type type)
}
int json_set_modified(json_t *json_object, bool input)
{
json_object->is_modified = input;
}
/*** object ***/
extern volatile uint32_t hashtable_seed;