void *userdata) {
Network *network = userdata;
_cleanup_(address_free_or_set_invalidp) Address *n = NULL;
- unsigned k;
+ uint32_t k;
int r;
assert(filename);
if (r < 0)
return r;
- /* We accept only "forever", "infinity", or "0". */
- if (STR_IN_SET(rvalue, "forever", "infinity"))
+ /* We accept only "forever", "infinity", empty, or "0". */
+ if (STR_IN_SET(rvalue, "forever", "infinity", ""))
k = CACHE_INFO_INFINITY_LIFE_TIME;
else if (streq(rvalue, "0"))
k = 0;
}
n->cinfo.ifa_prefered = k;
- n = NULL;
+ TAKE_PTR(n);
return 0;
}
assert(link->network);
/* The first statically configured address if there is any */
- LIST_FOREACH(addresses, address, link->network->static_addresses) {
-
- if (address->family != AF_INET)
- continue;
-
- if (in_addr_is_null(address->family, &address->in_addr))
- continue;
-
- return address;
- }
+ LIST_FOREACH(addresses, address, link->network->static_addresses)
+ if (address->family == AF_INET &&
+ !in_addr_is_null(address->family, &address->in_addr))
+ return address;
/* If that didn't work, find a suitable address we got from the pool */
- LIST_FOREACH(addresses, address, link->pool_addresses) {
- if (address->family != AF_INET)
- continue;
-
- return address;
- }
+ LIST_FOREACH(addresses, address, link->pool_addresses)
+ if (address->family == AF_INET)
+ return address;
return NULL;
}
static int link_push_uplink_dns_to_dhcp_server(Link *link, sd_dhcp_server *s) {
_cleanup_free_ struct in_addr *addresses = NULL;
size_t n_addresses = 0, n_allocated = 0;
- unsigned i;
- for (i = 0; i < link->network->n_dns; i++) {
+ for (unsigned i = 0; i < link->network->n_dns; i++) {
struct in_addr ia;
/* Only look for IPv4 addresses */
}
if (link->network->dhcp_use_dns && link->dhcp_lease) {
- const struct in_addr *da = NULL;
- int j, n;
+ const struct in_addr *da;
- n = sd_dhcp_lease_get_dns(link->dhcp_lease, &da);
+ int n = sd_dhcp_lease_get_dns(link->dhcp_lease, &da);
if (n > 0) {
-
if (!GREEDY_REALLOC(addresses, n_allocated, n_addresses + n))
return log_oom();
- for (j = 0; j < n; j++)
+ for (int j = 0; j < n; j++)
if (in4_addr_is_non_local(&da[j]))
addresses[n_addresses++] = da[j];
}
if (lease_condition && link->dhcp_lease) {
const struct in_addr *da;
- size_t n = sd_dhcp_lease_get_servers(link->dhcp_lease, what, &da);
+ int n = sd_dhcp_lease_get_servers(link->dhcp_lease, what, &da);
if (n > 0) {
if (!GREEDY_REALLOC(addresses, n_allocated, n_addresses + n))
return log_oom();
- for (unsigned i = 0; i < n; i++)
+ for (int i = 0; i < n; i++)
if (in4_addr_is_non_local(&da[i]))
addresses[n_addresses++] = da[i];
}