summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/utils-json.c5
-rw-r--r--src/utils-json.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/utils-json.c b/src/utils-json.c
index c582837..74df9a9 100644
--- a/src/utils-json.c
+++ b/src/utils-json.c
@@ -95,7 +95,10 @@ int j_integer_at(struct json_object *obj, const char *key, int defval)
int j_add(struct json_object *obj, const char *key, struct json_object *val)
{
- json_object_object_add(obj, key, val);
+ if (key)
+ json_object_object_add(obj, key, val);
+ else
+ json_object_array_add(obj, val);
return 1;
}
diff --git a/src/utils-json.h b/src/utils-json.h
index a08e8b9..3c4fee3 100644
--- a/src/utils-json.h
+++ b/src/utils-json.h
@@ -56,6 +56,7 @@ extern int j_integer_at(struct json_object *obj, const char *key, int defval);
/*
* Adds a keyed value (of type) and returns true if done or false in case of error
+ * when key==NULL object is an array and values are appended
*/
extern int j_add(struct json_object *obj, const char *key, struct json_object *val);
extern int j_add_string(struct json_object *obj, const char *key, const char *val);