X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-conf.c;h=7af63b0a82289ba7e49d9e5988c39b5bf48c2ffb;hb=dfd1520d3ab98cfa376f2d84ed1e7887d013720d;hp=ae3773f4f7cd7d3d4f8e5bfceaacd43d0ff89219;hpb=5cb36f41f01cf4b1f4395abfffd1b33116591e58;p=elogind.git diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index ae3773f4f..7af63b0a8 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -81,7 +81,6 @@ int config_parse_dnsv( void *userdata) { Manager *m = userdata; - DnsServer **l; int r; assert(filename); @@ -89,19 +88,10 @@ int config_parse_dnsv( assert(rvalue); assert(m); - if (ltype == DNS_SERVER_FALLBACK) - l = &m->fallback_dns_servers; - else - l = &m->dns_servers; - - if (isempty(rvalue)) { - + if (isempty(rvalue)) /* Empty assignment means clear the list */ - while (*l) - dns_server_free(*l); - - } else { - + manager_flush_dns_servers(m, ltype); + else { /* Otherwise add to the list */ r = manager_parse_dns_server(m, ltype, rvalue); if (r < 0) { @@ -130,14 +120,12 @@ int config_parse_support( void *data, void *userdata) { - Manager *m = userdata; Support support, *v = data; int r; assert(filename); assert(lvalue); assert(rvalue); - assert(m); support = support_from_string(rvalue); if (support < 0) { @@ -157,8 +145,9 @@ int config_parse_support( int manager_parse_config_file(Manager *m) { assert(m); - return config_parse(NULL, "/etc/systemd/resolved.conf", NULL, - "Resolve\0", - config_item_perf_lookup, resolved_gperf_lookup, - false, false, true, m); + return config_parse_many("/etc/systemd/resolved.conf", + CONF_DIRS_NULSTR("systemd/resolved.conf"), + "Resolve\0", + config_item_perf_lookup, resolved_gperf_lookup, + false, m); }