diff options
author | Sami Kerola <kerolasa@iki.fi> | 2011-12-18 16:24:36 +0100 |
---|---|---|
committer | Sami Kerola <kerolasa@iki.fi> | 2011-12-20 17:30:55 +0100 |
commit | a10282422b9386a2192c1603bad82b81dfcb46e7 (patch) | |
tree | 001e7dafcb5deb52144a7b87cc9f289927e707a9 | |
parent | 5862f47b96afe21490c7d891b492bd31003ab77a (diff) | |
download | procps-ng-a10282422b9386a2192c1603bad82b81dfcb46e7.tar.gz |
sysctl: enable pattern matching with path
Pattern matching support in `sysctl: implement --pattern option'
commit did not work when variable path was defined, for example
$ sysctl net.ipv4 -r arp.ignore
gave no output. Reason being was tht the pattern was matched agains
the specified argument and not the output variable list.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-rw-r--r-- | sysctl.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -164,11 +164,6 @@ static int ReadSetting(const char *restrict const name) { outname = xstrdup(name); slashdot(outname,'/','.'); /* change / to . */ - if (pattern && !pattern_match(outname, pattern)){ - free(outname); - return 0; - } - /* used to open the file */ tmpname = xmalloc(strlen(name)+strlen(PROC_PATH)+2); strcpy(tmpname, PROC_PATH); @@ -198,6 +193,11 @@ static int ReadSetting(const char *restrict const name) { goto out; } + if (pattern && !pattern_match(outname, pattern)){ + free(outname); + return 0; + } + fp = fopen(tmpname, "r"); if (!fp) { |