diff options
Diffstat (limited to 'src/device.c')
-rw-r--r-- | src/device.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/device.c b/src/device.c index fbfb2b58..2e0dbdca 100644 --- a/src/device.c +++ b/src/device.c @@ -1306,17 +1306,23 @@ connman_bool_t __connman_device_isfiltered(const char *devname) { char **pattern; char **blacklisted_interfaces; + gboolean match; if (device_filter == NULL) goto nodevice; - for (pattern = device_filter; *pattern; pattern++) { - if (g_pattern_match_simple(*pattern, devname) == FALSE) { - DBG("ignoring device %s (match)", devname); - return TRUE; + for (pattern = device_filter, match = FALSE; *pattern; pattern++) { + if (g_pattern_match_simple(*pattern, devname) == TRUE) { + match = TRUE; + break; } } + if (match == FALSE) { + DBG("ignoring device %s (match)", devname); + return TRUE; + } + nodevice: if (g_pattern_match_simple("dummy*", devname) == TRUE) { DBG("ignoring dummy networking devices"); |