mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-24 09:57:09 +00:00
refactor code
Added common functions autoconf_check_readable and fail. Added some TODOs for later completion. Updated messages from upstream plugins.
This commit is contained in:
parent
e71641b88f
commit
bb7bf0bcd7
15 changed files with 97 additions and 166 deletions
|
@ -9,27 +9,20 @@
|
|||
|
||||
int if_err_(int argc, char **argv) {
|
||||
char *interface;
|
||||
size_t interface_len;
|
||||
FILE *f;
|
||||
char buff[256], *s;
|
||||
int i;
|
||||
|
||||
interface = basename(argv[0]);
|
||||
if(strncmp(interface, "if_err_", 7) != 0) {
|
||||
fputs("if_err_ invoked with invalid basename\n", stderr);
|
||||
return 1;
|
||||
}
|
||||
if(strncmp(interface, "if_err_", 7) != 0)
|
||||
return fail("if_err_ invoked with invalid basename");
|
||||
interface += 7;
|
||||
interface_len = strlen(interface);
|
||||
|
||||
if(argc > 1) {
|
||||
if(!strcmp(argv[1], "autoconf")) {
|
||||
if(access(PROC_NET_DEV, R_OK) == 0) {
|
||||
puts("yes");
|
||||
return 0;
|
||||
} else {
|
||||
puts("no (/proc/net/dev not found)");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if(!strcmp(argv[1], "autoconf"))
|
||||
return autoconf_check_readable(PROC_NET_DEV);
|
||||
if(!strcmp(argv[1], "suggest")) {
|
||||
if(NULL == (f = fopen(PROC_NET_DEV, "r")))
|
||||
return 1;
|
||||
|
@ -83,9 +76,9 @@ int if_err_(int argc, char **argv) {
|
|||
while(fgets(buff, 256, f)) {
|
||||
for(s=buff;*s == ' ';++s)
|
||||
;
|
||||
if(0 != strncmp(s, interface, strlen(interface)))
|
||||
if(0 != strncmp(s, interface, interface_len))
|
||||
continue;
|
||||
s += strlen(interface);
|
||||
s += interface_len;
|
||||
if(*s != ':')
|
||||
continue;
|
||||
++s;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue