Revert "wmnet: simplify updateStats_dev() a bit"
This reverts commit 49944a01ae
.
Shame on me.
This commit is contained in:
parent
bd0d7d1f67
commit
c78465cae2
|
@ -316,25 +316,36 @@ int updateStats_ipchains(void) {
|
|||
|
||||
int updateStats_dev(void) {
|
||||
FILE *dev;
|
||||
char *ptr;
|
||||
unsigned int flag = 0;
|
||||
static char interface[16];
|
||||
rx = False;
|
||||
tx = False;
|
||||
|
||||
dev = fopen("/proc/net/dev", "r");
|
||||
if (!dev) {
|
||||
fprintf(stderr, "/proc/net/dev does not exist\n");
|
||||
|
||||
if ((dev = fopen("/proc/net/dev", "r")) == NULL) {
|
||||
fprintf(stderr, "/proc/net/dev does not exist?\n"
|
||||
"Perhaps we are not running Linux?\n");
|
||||
exit(4);
|
||||
}
|
||||
|
||||
/* the first two lines we can skip */
|
||||
fgets(buffer, 256, dev);
|
||||
fgets(buffer, 256, dev);
|
||||
|
||||
while(fgets(buffer, 256, dev)) {
|
||||
/* IP Chain Rules for Linux kernel 2_1.x */
|
||||
while(flag != (ACCOUNT_IN_FOUND|ACCOUNT_OUT_FOUND) && fgets(buffer, 256, dev)) {
|
||||
|
||||
if (strcmp(buffer, device) > 0){
|
||||
sscanf(buffer, "%16s %llu %llu %*d %*d %*d %*d %*d %*d %llu %llu %*d %*d %*d %*d %*d %*d",
|
||||
interface, &totalbytes_in, &totalpackets_in, &totalbytes_out, &totalpackets_out);
|
||||
|
||||
sscanf(buffer, "%*s %llu %llu %*d %*d %*d %*d %*d %*d %llu %llu %*d %*d %*d %*d %*d %*d",
|
||||
&totalbytes_in, &totalpackets_in, &totalbytes_out, &totalpackets_out);
|
||||
/* strip trailing colon */
|
||||
ptr = interface;
|
||||
while(*ptr != ':') ptr++;
|
||||
*ptr = '\0';
|
||||
|
||||
if (!strcmp(interface, device)) {
|
||||
|
||||
flag = (ACCOUNT_IN_FOUND|ACCOUNT_OUT_FOUND);
|
||||
|
||||
if (totalpackets_in != lastpackets_in) {
|
||||
diffbytes_in += totalbytes_in - lastbytes_in;
|
||||
|
@ -349,8 +360,6 @@ int updateStats_dev(void) {
|
|||
lastbytes_out = totalbytes_out;
|
||||
tx = True;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue