diff options
author | OpenWrt Developers <openwrt-devel@openwrt.org> | 2006-01-22 11:44:35 +0000 |
---|---|---|
committer | OpenWrt Developers <openwrt-devel@openwrt.org> | 2006-01-22 11:44:35 +0000 |
commit | 488e6d5df1e66ad2483587d49df3ee49336f8026 (patch) | |
tree | 8d40c496d5bbeaf7e96d094b908e6b52680ae99b /package | |
parent | 961b6a724c918e1c5e038ec33fffc15976caa2e6 (diff) | |
download | upstream-488e6d5df1e66ad2483587d49df3ee49336f8026.tar.gz upstream-488e6d5df1e66ad2483587d49df3ee49336f8026.tar.bz2 upstream-488e6d5df1e66ad2483587d49df3ee49336f8026.zip |
fix rrdcollect bug (closes #220)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3033 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/rrdcollect/files/rrdcollect.conf | 12 | ||||
-rw-r--r-- | package/rrdcollect/patches/rrdcollect-scan.patch | 66 |
2 files changed, 72 insertions, 6 deletions
diff --git a/package/rrdcollect/files/rrdcollect.conf b/package/rrdcollect/files/rrdcollect.conf index 1b374548ee..e34c9bff7b 100644 --- a/package/rrdcollect/files/rrdcollect.conf +++ b/package/rrdcollect/files/rrdcollect.conf @@ -19,15 +19,15 @@ exec:///bin/df # LAN: vlan0, WAN: vlan1, WIFI: eth1 file:///proc/net/dev -"vlan0: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Labi,Lapi,Labo,Lapo -"vlan1: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wabi,Wapi,Wabo,Wapo -"eth1: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wibi,Wipi,Wibo,Wipo -#"tun0: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:tbi,tpi,tbo,tpo +" vlan0:%d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Labi,Lapi,Labo,Lapo +" vlan1:%d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wabi,Wapi,Wabo,Wapo +" eth1:%d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wibi,Wipi,Wibo,Wipo +#" tun0:%d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:tbi,tpi,tbo,tpo file:///proc/slabinfo "ip_conntrack %d %*d %*d %*d %*d %*d" SYS.rrd:con "arp_cache %d %*d %*d %*d %*d %*d" SYS.rrd:arp file:///proc/interrupts -"4: %d MIPS eth1" SYS.rrd:irw -"5: %d MIPS eth0" SYS.rrd:ire +" 4: %d MIPS eth1" SYS.rrd:irw +" 5: %d MIPS eth0" SYS.rrd:ire diff --git a/package/rrdcollect/patches/rrdcollect-scan.patch b/package/rrdcollect/patches/rrdcollect-scan.patch new file mode 100644 index 0000000000..f47301ed13 --- /dev/null +++ b/package/rrdcollect/patches/rrdcollect-scan.patch @@ -0,0 +1,66 @@ +diff -ruN rrdcollect-0.2.3.orig/src/scan.c rrdcollect-0.2.3/src/scan.c +--- rrdcollect-0.2.3.orig/src/scan.c 2005-01-20 18:42:17.000000000 +0100 ++++ rrdcollect-0.2.3/src/scan.c 2006-01-22 00:51:52.000000000 +0100 +@@ -74,6 +74,11 @@ + } while (isdigit(*fmt)); + } + ++ /* skip white spaces like scanf does */ ++ if (strchr("difuoxX", *fmt)) ++ while (isspace(*buf)) ++ buf++; ++ + /* FIXME: we should check afterward: + * if (start == buf || start == '-' && buf-start == 1) + * die("WTF??? zero-length number???"); +@@ -150,27 +155,22 @@ + buf++, length--; + } + +- /* ignore if value not found */ +- if(value == 0) +- return 0; +- + if (!ignore) +- counter[i++]->value = valuedup(value); ++ counter[i++]->value = strndup(start, buf - start); + break; + + case 'c': ++ if (length < 0) ++ length = 1; // default length is 1 ++ + while (*buf && length > 0) { + buf++, length--; + } + if (length > 0) + return 2; + +- /* ignore if value not found */ +- if(value == 0) +- return 0; +- + if (!ignore) +- counter[i++]->value = valuedup(value); ++ counter[i++]->value = strndup(start, buf - start); + break; + + +@@ -192,7 +192,7 @@ + case '\f': + case '\v': + /* don't match if not at least one space */ +- if(!isspace(*(buf))) ++ if(!isspace(*buf)) + return 0; + else + buf++; +@@ -208,7 +208,7 @@ + case '\v': + break; + default: +- while (isspace(*(buf))) ++ while (isspace(*buf)) + buf++; + } + fmt++; |