]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
json: add json_variant_append_arrayb() helper
authorLennart Poettering <lennart@poettering.net>
Wed, 16 Aug 2023 07:35:07 +0000 (09:35 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 24 Aug 2023 11:19:52 +0000 (13:19 +0200)
src/shared/json.c
src/shared/json.h

index a6e23d82cd2e6ce32209473418fea5eda5fe8959..9b95e42893e4dc79f5b3a32c547e7b2429609c19 100644 (file)
@@ -2141,6 +2141,20 @@ int json_variant_append_array(JsonVariant **v, JsonVariant *element) {
         return 0;
 }
 
+int json_variant_append_arrayb(JsonVariant **v, ...) {
+        _cleanup_(json_variant_unrefp) JsonVariant *w = NULL;
+        va_list ap;
+        int r;
+
+        va_start(ap, v);
+        r = json_buildv(&w, ap);
+        va_end(ap);
+        if (r < 0)
+                return r;
+
+        return json_variant_append_array(v, w);
+}
+
 JsonVariant *json_variant_find(JsonVariant *haystack, JsonVariant *needle) {
         JsonVariant *i;
 
index 3f86222f2ab600aedfea063acfa28696a8c0bda5..a5eca65bf8fbc84234dd1e2cfd668becdba0f0a1 100644 (file)
@@ -213,6 +213,7 @@ int json_variant_set_field_strv(JsonVariant **v, const char *field, char **l);
 JsonVariant *json_variant_find(JsonVariant *haystack, JsonVariant *needle);
 
 int json_variant_append_array(JsonVariant **v, JsonVariant *element);
+int json_variant_append_arrayb(JsonVariant **v, ...);
 int json_variant_append_array_nodup(JsonVariant **v, JsonVariant *element);
 
 int json_variant_merge(JsonVariant **v, JsonVariant *m);