chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
networkd: allow more than one static DNS server
[elogind.git]
/
src
/
network
/
networkd-network.c
diff --git
a/src/network/networkd-network.c
b/src/network/networkd-network.c
index 6437ff4230f502a8a4d410971a764bdb5add4068..6e9915b75dabb2834ffbed4b14dd97fa4b4656f4 100644
(file)
--- a/
src/network/networkd-network.c
+++ b/
src/network/networkd-network.c
@@
-69,6
+69,10
@@
static int network_load_one(Manager *manager, const char *filename) {
if (!network->routes_by_section)
return log_oom();
if (!network->routes_by_section)
return log_oom();
+ network->dns = set_new(NULL, NULL);
+ if (!network->dns)
+ return log_oom();
+
network->filename = strdup(filename);
if (!network->filename)
return log_oom();
network->filename = strdup(filename);
if (!network->filename)
return log_oom();
@@
-136,6
+140,7
@@
int network_load(Manager *manager) {
void network_free(Network *network) {
Route *route;
Address *address;
void network_free(Network *network) {
Route *route;
Address *address;
+ Iterator i;
if (!network)
return;
if (!network)
return;
@@
-150,7
+155,10
@@
void network_free(Network *network) {
free(network->description);
free(network->description);
- address_free(network->dns);
+ SET_FOREACH(address, network->dns, i)
+ address_free(address);
+
+ set_free(network->dns);
hashmap_free(network->vlans);
hashmap_free(network->vlans);