changed member/element addition to be more convenient in most situations
This commit is contained in:
@@ -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);
|
||||
|
||||
22
src/output.c
22
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};
|
||||
|
||||
Reference in New Issue
Block a user