]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/networkd-json.c
tree-wide: use json_variant_append_arrayb() at many places
[thirdparty/systemd.git] / src / network / networkd-json.c
index 78bf8705070c0c14d5736da3fc2eaaee2b704721..7e4e4ff22fac5616e70aa29fce999b53dc1fe52a 100644 (file)
@@ -140,15 +140,11 @@ static int nexthop_group_build_json(NextHop *nexthop, JsonVariant **ret) {
         assert(ret);
 
         HASHMAP_FOREACH(g, nexthop->group) {
-                _cleanup_(json_variant_unrefp) JsonVariant *e = NULL;
-
-                r = json_build(&e, JSON_BUILD_OBJECT(
-                                        JSON_BUILD_PAIR_UNSIGNED("ID", g->id),
-                                        JSON_BUILD_PAIR_UNSIGNED("Weight", g->weight+1)));
-                if (r < 0)
-                        return r;
-
-                r = json_variant_append_array(&array, e);
+                r = json_variant_append_arrayb(
+                                &array,
+                                JSON_BUILD_OBJECT(
+                                                JSON_BUILD_PAIR_UNSIGNED("ID", g->id),
+                                                JSON_BUILD_PAIR_UNSIGNED("Weight", g->weight+1)));
                 if (r < 0)
                         return r;
         }
@@ -431,9 +427,6 @@ static int device_append_json(sd_device *device, JsonVariant **v) {
 }
 
 static int dns_append_json_one(Link *link, const struct in_addr_full *a, NetworkConfigSource s, const union in_addr_union *p, JsonVariant **array) {
-        _cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
-        int r;
-
         assert(link);
         assert(a);
         assert(array);
@@ -441,18 +434,16 @@ static int dns_append_json_one(Link *link, const struct in_addr_full *a, Network
         if (a->ifindex != 0 && a->ifindex != link->ifindex)
                 return 0;
 
-        r = json_build(&v, JSON_BUILD_OBJECT(
-                                JSON_BUILD_PAIR_INTEGER("Family", a->family),
-                                JSON_BUILD_PAIR_IN_ADDR("Address", &a->address, a->family),
-                                JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("Port", a->port),
-                                JSON_BUILD_PAIR_CONDITION(a->ifindex != 0, "InterfaceIndex", JSON_BUILD_INTEGER(a->ifindex)),
-                                JSON_BUILD_PAIR_STRING_NON_EMPTY("ServerName", a->server_name),
-                                JSON_BUILD_PAIR_STRING("ConfigSource", network_config_source_to_string(s)),
-                                JSON_BUILD_PAIR_IN_ADDR_NON_NULL("ConfigProvider", p, a->family)));
-        if (r < 0)
-                return r;
-
-        return json_variant_append_array(array, v);
+        return json_variant_append_arrayb(
+                        array,
+                        JSON_BUILD_OBJECT(
+                                        JSON_BUILD_PAIR_INTEGER("Family", a->family),
+                                        JSON_BUILD_PAIR_IN_ADDR("Address", &a->address, a->family),
+                                        JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("Port", a->port),
+                                        JSON_BUILD_PAIR_CONDITION(a->ifindex != 0, "InterfaceIndex", JSON_BUILD_INTEGER(a->ifindex)),
+                                        JSON_BUILD_PAIR_STRING_NON_EMPTY("ServerName", a->server_name),
+                                        JSON_BUILD_PAIR_STRING("ConfigSource", network_config_source_to_string(s)),
+                                        JSON_BUILD_PAIR_IN_ADDR_NON_NULL("ConfigProvider", p, a->family)));
 }
 
 static int dns_append_json(Link *link, JsonVariant **v) {
@@ -939,23 +930,19 @@ static int dhcp_server_offered_leases_append_json(Link *link, JsonVariant **v) {
                 return 0;
 
         HASHMAP_FOREACH(lease, link->dhcp_server->bound_leases_by_client_id) {
-                _cleanup_(json_variant_unrefp) JsonVariant *e = NULL;
                 struct in_addr address = { .s_addr = lease->address };
 
-                r = json_build(&e,
-                               JSON_BUILD_OBJECT(
-                                               JSON_BUILD_PAIR_BYTE_ARRAY(
-                                                               "ClientId",
-                                                               lease->client_id.data,
-                                                               lease->client_id.length),
-                                               JSON_BUILD_PAIR_IN4_ADDR_NON_NULL("Address", &address),
-                                               JSON_BUILD_PAIR_STRING_NON_EMPTY("Hostname", lease->hostname),
-                                               JSON_BUILD_PAIR_FINITE_USEC(
-                                                               "ExpirationUSec", lease->expiration)));
-                if (r < 0)
-                        return r;
-
-                r = json_variant_append_array(&array, e);
+                r = json_variant_append_arrayb(
+                                &array,
+                                JSON_BUILD_OBJECT(
+                                                JSON_BUILD_PAIR_BYTE_ARRAY(
+                                                                "ClientId",
+                                                                lease->client_id.data,
+                                                                lease->client_id.length),
+                                                JSON_BUILD_PAIR_IN4_ADDR_NON_NULL("Address", &address),
+                                                JSON_BUILD_PAIR_STRING_NON_EMPTY("Hostname", lease->hostname),
+                                                JSON_BUILD_PAIR_FINITE_USEC(
+                                                                "ExpirationUSec", lease->expiration)));
                 if (r < 0)
                         return r;
         }