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 { typedef struct json_t {
json_type type; json_type type;
size_t refcount; size_t refcount;
boolean is_modified;
} json_t; } json_t;
#ifndef JANSSON_USING_CMAKE /* disabled if using cmake */ #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_boolean_value json_is_true
#define json_is_boolean(json) (json_is_true(json) || json_is_false(json)) #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_null(json) ((json) && json_typeof(json) == JSON_NULL)
#define json_is_modified(json) ((json)->is_modified)
/* construction, destruction, reference counting */ /* construction, destruction, reference counting */
@ -129,6 +131,8 @@ typedef struct {
/* getters, setters, manipulation */ /* getters, setters, manipulation */
int json_set_modified(json_t *json_object, bool input);
void json_object_seed(size_t seed); void json_object_seed(size_t seed);
size_t json_object_size(const json_t *object); size_t json_object_size(const json_t *object);
json_t *json_object_get(const json_t *object, const char *key); 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 ***/ /*** object ***/
extern volatile uint32_t hashtable_seed; extern volatile uint32_t hashtable_seed;