diff options
author | Tom Gundersen <teg@jklm.no> | 2014-01-16 19:32:22 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-01-16 20:32:08 +0100 |
commit | 7ae4ef6d23bc884d0e0ee2ec9cf87ec99d0686bb (patch) | |
tree | e042cd409684df14801911af4ddfa239b6060cf8 /src/network/networkd-manager.c | |
parent | 1346b1f0388f4100bb3c2a2bb23bc881769c020c (diff) |
sd-dhcp-client: refactor DNS support
Rather than keeping an array of pointers to addresses, just keep an array of addresses.
Diffstat (limited to 'src/network/networkd-manager.c')
-rw-r--r-- | src/network/networkd-manager.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index ca781e2bb4..3b542149c0 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -338,14 +338,15 @@ int manager_update_resolv_conf(Manager *m) { HASHMAP_FOREACH(link, m->links, i) { if (link->dhcp) { - struct in_addr **nameservers; + struct in_addr *nameservers; + size_t nameservers_size; - r = sd_dhcp_client_get_dns(link->dhcp, &nameservers); + r = sd_dhcp_client_get_dns(link->dhcp, &nameservers, &nameservers_size); if (r >= 0) { unsigned j; - for (j = 0; nameservers[j]; j++) - append_dns(f, nameservers[j], AF_INET, &count); + for (j = 0; j < nameservers_size; j++) + append_dns(f, &nameservers[j], AF_INET, &count); } } } |