X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-netdev.c;h=86f2250c8ffbcfd091b059b29c03cb4770412cc9;hb=ca4e095ab9e970cb8fa472ae69ea1f0648041722;hp=7d12af3938e2552bd7699c9ba4254782aa07ba93;hpb=e9f3d2d508bfd9fb5b54e82994bda365a71eb864;p=elogind.git diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c index 7d12af393..86f2250c8 100644 --- a/src/network/networkd-netdev.c +++ b/src/network/networkd-netdev.c @@ -341,8 +341,8 @@ int netdev_join(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callback) int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *message) { uint16_t type; const char *kind; - char *received_kind; - char *received_name; + const char *received_kind; + const char *received_name; int r, ifindex; assert(netdev); @@ -495,11 +495,6 @@ static int netdev_load_one(Manager *manager, const char *filename) { assert(manager); assert(filename); - if (null_or_empty_path(filename)) { - log_debug("skipping empty file: %s", filename); - return 0; - } - file = fopen(filename, "re"); if (!file) { if (errno == ENOENT) @@ -508,6 +503,11 @@ static int netdev_load_one(Manager *manager, const char *filename) { return -errno; } + if (null_or_empty_fd(fileno(file))) { + log_debug("Skipping empty file: %s", filename); + return 0; + } + netdev = new0(NetDev, 1); if (!netdev) return log_oom(); @@ -526,11 +526,9 @@ static int netdev_load_one(Manager *manager, const char *filename) { r = config_parse(NULL, filename, file, "Match\0NetDev\0VLAN\0MACVLAN\0VXLAN\0Tunnel\0Peer\0Tun\0Tap\0Bond\0", config_item_perf_lookup, network_netdev_gperf_lookup, - false, false, netdev); - if (r < 0) { - log_warning("Could not parse config file %s: %s", filename, strerror(-r)); + false, false, true, netdev); + if (r < 0) return r; - } /* skip out early if configuration does not match the environment */ if (net_match_config(NULL, NULL, NULL, NULL, NULL, @@ -540,7 +538,7 @@ static int netdev_load_one(Manager *manager, const char *filename) { return 0; if (!NETDEV_VTABLE(netdev)) { - log_warning("NetDev with invalid Kind configured in %s. Igonring", filename); + log_warning("NetDev with invalid Kind configured in %s. Ignoring", filename); return 0; }