JSON_BUILD_PAIR_UNSIGNED("SubOptionCode", (*option)->option),
JSON_BUILD_PAIR_HEX("SubOptionData", (*option)->data, (*option)->length)));
if (r < 0)
- return 0;
+ return r;
}
return json_variant_set_field_non_null(v, "VendorSpecificOptions", array);
static int dhcp6_client_lease_append_json(Link *link, JsonVariant **v) {
_cleanup_(json_variant_unrefp) JsonVariant *w = NULL;
- usec_t ts, t1, t2;
+ usec_t ts = USEC_INFINITY, t1 = USEC_INFINITY, t2 = USEC_INFINITY;
int r;
assert(link);
return 0;
r = sd_dhcp6_lease_get_timestamp(link->dhcp6_lease, CLOCK_BOOTTIME, &ts);
- if (r < 0)
+ if (r < 0 && r != -ENODATA)
return r;
r = sd_dhcp6_lease_get_t1_timestamp(link->dhcp6_lease, CLOCK_BOOTTIME, &t1);
- if (r < 0)
+ if (r < 0 && r != -ENODATA)
return r;
r = sd_dhcp6_lease_get_t2_timestamp(link->dhcp6_lease, CLOCK_BOOTTIME, &t2);
- if (r < 0)
+ if (r < 0 && r != -ENODATA)
return r;
r = json_build(&w, JSON_BUILD_OBJECT(
static int dhcp_client_lease_append_json(Link *link, JsonVariant **v) {
_cleanup_(json_variant_unrefp) JsonVariant *w = NULL;
- usec_t lease_timestamp_usec, t1, t2;
+ usec_t lease_timestamp_usec = USEC_INFINITY, t1 = USEC_INFINITY, t2 = USEC_INFINITY;
int r;
assert(link);
return 0;
r = sd_dhcp_lease_get_timestamp(link->dhcp_lease, CLOCK_BOOTTIME, &lease_timestamp_usec);
- if (r < 0)
- return 0;
+ if (r < 0 && r != -ENODATA)
+ return r;
r = sd_dhcp_lease_get_t1_timestamp(link->dhcp_lease, CLOCK_BOOTTIME, &t1);
- if (r < 0)
- return 0;
+ if (r < 0 && r != -ENODATA)
+ return r;
r = sd_dhcp_lease_get_t2_timestamp(link->dhcp_lease, CLOCK_BOOTTIME, &t2);
- if (r < 0)
- return 0;
+ if (r < 0 && r != -ENODATA)
+ return r;
r = json_build(&w, JSON_BUILD_OBJECT(
JSON_BUILD_PAIR_FINITE_USEC("LeaseTimestampUSec", lease_timestamp_usec),