chiark / gitweb /
networkd: network - store DNS servers in List rather than Set
[elogind.git] / src / network / networkd-address.c
index e6e3f8f06788bff8f58abb36fe7b19345ea3d398..6977fe7947ed08eabf988eb92f7e9566d190b0b9 100644 (file)
@@ -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;