utils-json: adds function for new array/object
authorJosé Bollo <jose.bollo@iot.bzh>
Wed, 2 Mar 2016 16:44:16 +0000 (17:44 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 2 Mar 2016 16:47:58 +0000 (17:47 +0100)
Change-Id: I14168684cdfcae7ec0689eb45ab09aff82d66d22
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/utils-json.c
src/utils-json.h

index 3af2a4c..eb1f90b 100644 (file)
@@ -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;
+}
+
index 4b86fa9..9d495f8 100644 (file)
@@ -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);