mirror of
https://github.com/kgabis/parson.git
synced 2025-02-05 17:05:29 +00:00
free temporary JSON_Value's on failure
This commit is contained in:
parent
717e551cb2
commit
9782447a74
108
parson.c
108
parson.c
@ -1166,19 +1166,47 @@ JSON_Status json_array_replace_value(JSON_Array *array, size_t ix, JSON_Value *v
|
|||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_replace_string(JSON_Array *array, size_t i, const char* string) {
|
JSON_Status json_array_replace_string(JSON_Array *array, size_t i, const char* string) {
|
||||||
return json_array_replace_value(array, i, json_value_init_string(string));
|
JSON_Value *value = json_value_init_string(string);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_replace_value(array, i, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_replace_number(JSON_Array *array, size_t i, double number) {
|
JSON_Status json_array_replace_number(JSON_Array *array, size_t i, double number) {
|
||||||
return json_array_replace_value(array, i, json_value_init_number(number));
|
JSON_Value *value = json_value_init_number(number);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_replace_value(array, i, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_replace_boolean(JSON_Array *array, size_t i, int boolean) {
|
JSON_Status json_array_replace_boolean(JSON_Array *array, size_t i, int boolean) {
|
||||||
return json_array_replace_value(array, i, json_value_init_boolean(boolean));
|
JSON_Value *value = json_value_init_boolean(boolean);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_replace_value(array, i, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_replace_null(JSON_Array *array, size_t i) {
|
JSON_Status json_array_replace_null(JSON_Array *array, size_t i) {
|
||||||
return json_array_replace_value(array, i, json_value_init_null());
|
JSON_Value *value = json_value_init_null();
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_replace_value(array, i, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_clear(JSON_Array *array) {
|
JSON_Status json_array_clear(JSON_Array *array) {
|
||||||
@ -1199,19 +1227,47 @@ JSON_Status json_array_append_value(JSON_Array *array, JSON_Value *value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_append_string(JSON_Array *array, const char *string) {
|
JSON_Status json_array_append_string(JSON_Array *array, const char *string) {
|
||||||
return json_array_append_value(array, json_value_init_string(string));
|
JSON_Value *value = json_value_init_string(string);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_append_value(array, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_append_number(JSON_Array *array, double number) {
|
JSON_Status json_array_append_number(JSON_Array *array, double number) {
|
||||||
return json_array_append_value(array, json_value_init_number(number));
|
JSON_Value *value = json_value_init_number(number);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_append_value(array, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_append_boolean(JSON_Array *array, int boolean) {
|
JSON_Status json_array_append_boolean(JSON_Array *array, int boolean) {
|
||||||
return json_array_append_value(array, json_value_init_boolean(boolean));
|
JSON_Value *value = json_value_init_boolean(boolean);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_append_value(array, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_array_append_null(JSON_Array *array) {
|
JSON_Status json_array_append_null(JSON_Array *array) {
|
||||||
return json_array_append_value(array, json_value_init_null());
|
JSON_Value *value = json_value_init_null();
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_array_append_value(array, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_set_value(JSON_Object *object, const char *name, JSON_Value *value) {
|
JSON_Status json_object_set_value(JSON_Object *object, const char *name, JSON_Value *value) {
|
||||||
@ -1282,19 +1338,47 @@ JSON_Status json_object_dotset_value(JSON_Object *object, const char *name, JSON
|
|||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_dotset_string(JSON_Object *object, const char *name, const char *string) {
|
JSON_Status json_object_dotset_string(JSON_Object *object, const char *name, const char *string) {
|
||||||
return json_object_dotset_value(object, name, json_value_init_string(string));
|
JSON_Value *value = json_value_init_string(string);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_object_dotset_value(object, name, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_dotset_number(JSON_Object *object, const char *name, double number) {
|
JSON_Status json_object_dotset_number(JSON_Object *object, const char *name, double number) {
|
||||||
return json_object_dotset_value(object, name, json_value_init_number(number));
|
JSON_Value *value = json_value_init_number(number);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_object_dotset_value(object, name, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_dotset_boolean(JSON_Object *object, const char *name, int boolean) {
|
JSON_Status json_object_dotset_boolean(JSON_Object *object, const char *name, int boolean) {
|
||||||
return json_object_dotset_value(object, name, json_value_init_boolean(boolean));
|
JSON_Value *value = json_value_init_boolean(boolean);
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_object_dotset_value(object, name, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_dotset_null(JSON_Object *object, const char *name) {
|
JSON_Status json_object_dotset_null(JSON_Object *object, const char *name) {
|
||||||
return json_object_dotset_value(object, name, json_value_init_null());
|
JSON_Value *value = json_value_init_null();
|
||||||
|
if (value == NULL)
|
||||||
|
return JSONFailure;
|
||||||
|
if (json_object_dotset_value(object, name, value) == JSONFailure) {
|
||||||
|
json_value_free(value);
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
return JSONSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSON_Status json_object_remove(JSON_Object *object, const char *name) {
|
JSON_Status json_object_remove(JSON_Object *object, const char *name) {
|
||||||
|
Loading…
Reference in New Issue
Block a user