[systemd-devel] [PATCH 2/3] network-internal: chain matches with AND in net_match_config()
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Fri Feb 13 15:53:25 PST 2015
The test would treat the first non-empty set of matches in
match_paths, match_drivers, match_types, match_names as definitive
(essentially chaining them with OR). Make those tests instead match
like other tests and require all to pass if the set of patterns is
nonempty.
---
src/libsystemd-network/network-internal.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
index 5867aef662..b6bddd9c60 100644
--- a/src/libsystemd-network/network-internal.c
+++ b/src/libsystemd-network/network-internal.c
@@ -112,17 +112,17 @@ 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_isempty(match_paths))
- return strv_fnmatch(dev_path, match_paths, 0);
+ if (!strv_fnmatch_or_empty(dev_path, match_paths, 0))
+ return false;
- if (!strv_isempty(match_drivers))
- return strv_fnmatch(dev_driver, match_drivers, 0);
+ if (!strv_fnmatch_or_empty(dev_driver, match_drivers, 0))
+ return false;
- if (!strv_isempty(match_types))
- return strv_fnmatch(dev_type, match_types, 0);
+ if (!strv_fnmatch_or_empty(dev_type, match_types, 0))
+ return false;
- if (!strv_isempty(match_names))
- return strv_fnmatch(dev_name, match_names, 0);
+ if (!strv_fnmatch_or_empty(dev_name, match_names, 0))
+ return false;
return true;
}
--
2.1.0
More information about the systemd-devel
mailing list