From 036c732ee8533d613d64bb5f6de1e30b512700dc Mon Sep 17 00:00:00 2001 From: rexy712 Date: Fri, 30 Nov 2018 13:49:51 -0800 Subject: [PATCH] changed member/element addition to be more convenient in most situations --- include/rjp.h | 4 ++-- src/output.c | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/include/rjp.h b/include/rjp.h index ae6b889..3d5ce5b 100644 --- a/include/rjp.h +++ b/include/rjp.h @@ -108,9 +108,9 @@ enum JSON_type rjp_get_value_type(struct JSON_value* j); struct JSON_value* rjp_init_json(void); //add a member to a json object -struct JSON_value* rjp_add_member(struct JSON_object* dest, int alloc_key, char* key, size_t keylen, struct JSON_value value); +struct JSON_value* rjp_add_member(struct JSON_value* dest, int alloc_key, char* key, size_t keylen, struct JSON_value value); //add an element to a json array -struct JSON_value* rjp_add_element(struct JSON_array* dest, struct JSON_value value); +struct JSON_value* rjp_add_element(struct JSON_value* dest, struct JSON_value value); struct JSON_value rjp_integer(long i); struct JSON_value rjp_boolean(char b); diff --git a/src/output.c b/src/output.c index 9be6fb1..f830ac0 100644 --- a/src/output.c +++ b/src/output.c @@ -10,22 +10,22 @@ struct JSON_value* rjp_init_json(void){ ret->type = json_object; return ret; } -struct JSON_value* rjp_add_member(struct JSON_object* dest, int alloc_key, char* key, size_t keylen, struct JSON_value value){ +struct JSON_value* rjp_add_member(struct JSON_value* dest, int alloc_key, char* key, size_t keylen, struct JSON_value value){ if(!keylen && alloc_key) keylen = strlen(key); if(alloc_key) - _rjp__add_member(dest, key, keylen); + _rjp__add_member(&dest->object, key, keylen); else - _rjp__add_member_no_alloc(dest, key, keylen); - dest->last->value = value; - dest->last->value.parent = (struct JSON_value*)dest; - return &dest->last->value; + _rjp__add_member_no_alloc(&dest->object, key, keylen); + dest->object.last->value = value; + dest->object.last->value.parent = dest; + return &dest->object.last->value; } -struct JSON_value* rjp_add_element(struct JSON_array* dest, struct JSON_value value){ - _rjp__add_element(dest); - dest->last->value = value; - dest->last->value.parent = (struct JSON_value*)dest; - return &dest->last->value; +struct JSON_value* rjp_add_element(struct JSON_value* dest, struct JSON_value value){ + _rjp__add_element(&dest->array); + dest->array.last->value = value; + dest->array.last->value.parent = dest; + return &dest->array.last->value; } struct JSON_value rjp_integer(long i){ return (struct JSON_value){.integer = i, .type = json_integer};