From d4920165fe753751aaa274fdc568927d26284eea Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Fri, 16 May 2014 19:43:12 +0200 Subject: networkd: network - store DNS servers in List rather than Set This way we preserve the order of preference. --- src/network/networkd-address.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/network/networkd-address.c') diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index e6e3f8f067..6977fe7947 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -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; -- cgit v1.2.3-54-g00ecf