void *userdata) {
Manager *m = userdata;
- DnsServer **l;
int r;
assert(filename);
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) {
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) {
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);
}