chiark / gitweb /
Transpose args in strv_fnmatch() to be more oo
[elogind.git] / src / libsystemd-network / network-internal.c
index b6bddd9c60ce9f34bac801a8492fe4c52004efb4..b8e4e21716f596fa43116560ca7ccb5588c4c89f 100644 (file)
@@ -112,16 +112,20 @@ bool net_match_config(const struct ether_addr *match_mac,
         if (match_mac && (!dev_mac || memcmp(match_mac, dev_mac, ETH_ALEN)))
                 return false;
 
-        if (!strv_fnmatch_or_empty(dev_path, match_paths, 0))
+        if (!strv_isempty(match_paths) &&
+            (!dev_path || !strv_fnmatch(match_paths, dev_path, 0)))
                 return false;
 
-        if (!strv_fnmatch_or_empty(dev_driver, match_drivers, 0))
+        if (!strv_isempty(match_drivers) &&
+            (!dev_driver || !strv_fnmatch(match_drivers, dev_driver, 0)))
                 return false;
 
-        if (!strv_fnmatch_or_empty(dev_type, match_types, 0))
+        if (!strv_isempty(match_types) &&
+            (!dev_type || !strv_fnmatch_or_empty(match_types, dev_type, 0)))
                 return false;
 
-        if (!strv_fnmatch_or_empty(dev_name, match_names, 0))
+        if (!strv_isempty(match_names) &&
+            (!dev_name || !strv_fnmatch_or_empty(match_names, dev_name, 0)))
                 return false;
 
         return true;