--- a/bwm.c +++ b/bwm.c @@ -57,7 +57,8 @@ int main(int argc, char *argv[]) char buffer[256]; char *buffer_pointer; - int inum; + int inum = -1; + int oldinum = -1; int field_number; int total_counter; int sleep_time = 2; @@ -90,7 +91,13 @@ int main(int argc, char *argv[]) while(1) { - printf("%c[H",27); + if (inum==oldinum) + { + printf("%c[H",27); + } else { + printf("%c[H%c[J",27,27); + oldinum = inum; + } printf("Bandwidth Monitor 1.1.0\n\n"); printf(" Iface RX(KB/sec) TX(KB/sec) Total(KB/sec)\n\n"); @@ -138,7 +145,7 @@ int main(int argc, char *argv[]) interface[inum].rx_kbytes_dif = (interface[inum].rx_bytes_new - - interface[inum].rx_bytes_old) * 1000 / 1024; + interface[inum].rx_bytes_old) / 1024 * 1000; interface[inum].rx_rate_whole = interface[inum].rx_kbytes_dif / @@ -157,7 +164,7 @@ int main(int argc, char *argv[]) interface[inum].tx_kbytes_dif = (interface[inum].tx_bytes_new - - interface[inum].tx_bytes_old) * 1000 / 1024; + interface[inum].tx_bytes_old) / 1024 * 1000; interface[inum].tx_rate_whole = interface[inum].tx_kbytes_dif /