chiark / gitweb /
timesyncd: keep order of NTP servers
[elogind.git] / src / timesync / timesyncd.c
index 1237abb5421b50a0132e59c3679d084891b1cd46..1c0f113778ecf6982e356f4e1db2064bc74cae4b 100644 (file)
@@ -935,7 +935,7 @@ static int manager_connect(Manager *m) {
 }
 
 static int manager_add_server(Manager *m, const char *server) {
-        ServerName *n;
+        ServerName *n, *tail;
 
         assert(m);
         assert(server);
@@ -950,7 +950,12 @@ static int manager_add_server(Manager *m, const char *server) {
                 return -ENOMEM;
         }
 
-        LIST_PREPEND(names, m->servers, n);
+        if (m->servers) {
+                LIST_FIND_TAIL(names, m->servers, tail);
+                LIST_INSERT_AFTER(names, m->servers, tail, n);
+        } else
+                LIST_PREPEND(names, m->servers, n);
+
         return 0;
 }