X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-address.c;h=6977fe7947ed08eabf988eb92f7e9566d190b0b9;hb=d4920165fe753751aaa274fdc568927d26284eea;hp=87688a5ae60db115dbc465963a3f50f986ed33aa;hpb=aba496a58acf9d9c61314de71353550e579f85ee;p=elogind.git diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 87688a5ae..6977fe794 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -59,7 +59,7 @@ int address_new_static(Network *network, unsigned section, Address **ret) { address->network = network; - LIST_PREPEND(static_addresses, network->static_addresses, address); + LIST_PREPEND(addresses, network->static_addresses, address); if (section) { address->section = section; @@ -92,7 +92,7 @@ void address_free(Address *address) { return; if (address->network) { - LIST_REMOVE(static_addresses, address->network->static_addresses, address); + LIST_REMOVE(addresses, address->network->static_addresses, address); if (address->section) hashmap_remove(address->network->addresses_by_section, @@ -313,7 +313,8 @@ int config_parse_dns(const char *unit, const char *rvalue, void *data, void *userdata) { - Set **dns = data; + Network *network = userdata; + Address *tail; _cleanup_address_free_ Address *n = NULL; int r; @@ -321,7 +322,7 @@ int config_parse_dns(const char *unit, assert(section); assert(lvalue); assert(rvalue); - assert(data); + assert(network); r = address_new_dynamic(&n); if (r < 0) @@ -334,7 +335,8 @@ int config_parse_dns(const char *unit, return 0; } - set_put(*dns, n); + LIST_FIND_TAIL(addresses, network->dns, tail); + LIST_INSERT_AFTER(addresses, network->dns, tail, n); n = NULL; return 0;