From: José Bollo Date: Wed, 2 Mar 2016 16:44:16 +0000 (+0100) Subject: utils-json: adds function for new array/object X-Git-Tag: 2.0.2~52 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-main.git;a=commitdiff_plain;h=740c64f92c24da30a8636b836a21e91fcba70463 utils-json: adds function for new array/object Change-Id: I14168684cdfcae7ec0689eb45ab09aff82d66d22 Signed-off-by: José Bollo --- diff --git a/src/utils-json.c b/src/utils-json.c index 3af2a4c..eb1f90b 100644 --- a/src/utils-json.c +++ b/src/utils-json.c @@ -117,3 +117,23 @@ int j_add_integer(struct json_object *obj, const char *key, int val) return str ? j_add(obj, key, str) : (errno = ENOMEM, 0); } +struct json_object *j_add_new_array(struct json_object *obj, const char *key) +{ + struct json_object *result = json_object_new_array(); + if (result != NULL && !j_add(obj, key, result)) { + json_object_put(result); + result = NULL; + } + return result; +} + +struct json_object *j_add_new_object(struct json_object *obj, const char *key) +{ + struct json_object *result = json_object_new_object(); + if (result != NULL && !j_add(obj, key, result)) { + json_object_put(result); + result = NULL; + } + return result; +} + diff --git a/src/utils-json.h b/src/utils-json.h index 4b86fa9..9d495f8 100644 --- a/src/utils-json.h +++ b/src/utils-json.h @@ -61,4 +61,6 @@ extern int j_add(struct json_object *obj, const char *key, struct json_object *v extern int j_add_string(struct json_object *obj, const char *key, const char *val); extern int j_add_boolean(struct json_object *obj, const char *key, int val); extern int j_add_integer(struct json_object *obj, const char *key, int val); +extern struct json_object *j_add_new_array(struct json_object *obj, const char *key); +extern struct json_object *j_add_new_object(struct json_object *obj, const char *key);