From 8f5a602f7afce40fcb988316157dbc45ebbf491d Mon Sep 17 00:00:00 2001 From: Anton Danilov Date: Thu, 9 Jul 2020 18:03:43 +0300 Subject: [PATCH] misc: make the pattern matching case-insensitive To improve the usability better use case-insensitive pattern-matching in ifstat, nstat and ss tools. Signed-off-by: Anton Danilov Signed-off-by: Stephen Hemminger --- man/man8/rtacct.8 | 7 +++++++ misc/ifstat.c | 2 +- misc/nstat.c | 2 +- misc/ss.c | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/man/man8/rtacct.8 b/man/man8/rtacct.8 index ccdbf6ca..988a6d1b 100644 --- a/man/man8/rtacct.8 +++ b/man/man8/rtacct.8 @@ -14,6 +14,13 @@ and .B rtacct are simple tools to monitor kernel snmp counters and network interface statistics. +.B nstat +can filter kernel snmp counters by name with one or several specified wildcards. Wildcards are case-insensitive and can include special symbols +.B ? +and +.B * +. + .SH OPTIONS .B \-h, \-\-help Print help diff --git a/misc/ifstat.c b/misc/ifstat.c index 60efe6cb..03327af8 100644 --- a/misc/ifstat.c +++ b/misc/ifstat.c @@ -104,7 +104,7 @@ static int match(const char *id) return 1; for (i = 0; i < npatterns; i++) { - if (!fnmatch(patterns[i], id, 0)) + if (!fnmatch(patterns[i], id, FNM_CASEFOLD)) return 1; } return 0; diff --git a/misc/nstat.c b/misc/nstat.c index 425e75ef..88f52eaf 100644 --- a/misc/nstat.c +++ b/misc/nstat.c @@ -114,7 +114,7 @@ static int match(const char *id) return 1; for (i = 0; i < npatterns; i++) { - if (!fnmatch(patterns[i], id, 0)) + if (!fnmatch(patterns[i], id, FNM_CASEFOLD)) return 1; } return 0; diff --git a/misc/ss.c b/misc/ss.c index f3d01812..5aa10e4a 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -1670,7 +1670,7 @@ static int unix_match(const inet_prefix *a, const inet_prefix *p) return 1; if (addr == NULL) addr = ""; - return !fnmatch(pattern, addr, 0); + return !fnmatch(pattern, addr, FNM_CASEFOLD); } static int run_ssfilter(struct ssfilter *f, struct sockstat *s) -- 2.39.2