FreeBSD Bugzilla – Attachment 137866 Details for
Bug 183598
[patch] netstat(1): wrong display of humanized packets counter
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
netstat.patch.txt
netstat.patch.txt (text/plain; charset=US-ASCII), 4.47 KB, created by
olivier
on 2013-11-03 04:16:35 UTC
(
hide
)
Description:
netstat.patch.txt
Filename:
MIME Type:
Creator:
olivier
Created:
2013-11-03 04:16:35 UTC
Size:
4.47 KB
patch
obsolete
>Index: usr.bin/netstat/if.c >=================================================================== >--- usr.bin/netstat/if.c (revision 257504) >+++ usr.bin/netstat/if.c (working copy) >@@ -160,7 +160,7 @@ > * Display a formatted value, or a '-' in the same space. > */ > static void >-show_stat(const char *fmt, int width, u_long value, short showvalue) >+show_stat(const char *fmt, int width, u_long value, short showvalue, short notbyte) > { > const char *lsep, *rsep; > char newfmt[32]; >@@ -186,8 +186,14 @@ > char buf[5]; > > /* Format in human readable form. */ >- humanize_number(buf, sizeof(buf), (int64_t)value, "", >- HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL); >+ if (notbyte == 0) { >+ humanize_number(buf, sizeof(buf), (int64_t)value, "", >+ HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL); >+ } else { >+ humanize_number(buf, sizeof(buf), (int64_t)value, "", >+ HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL | >+ HN_DIVISOR_1000); >+ } > sprintf(newfmt, "%s%%%ds%s", lsep, width, rsep); > printf(newfmt, buf); > } else { >@@ -444,20 +450,20 @@ > ifaddraddr = (u_long)TAILQ_NEXT(&ifaddr.ifa, ifa_link); > } > >- show_stat("lu", 8, ipackets, link_layer|network_layer); >- show_stat("lu", 5, ierrors, link_layer); >- show_stat("lu", 5, idrops, link_layer); >+ show_stat("lu", 8, ipackets, link_layer|network_layer, 1); >+ show_stat("lu", 5, ierrors, link_layer, 1); >+ show_stat("lu", 5, idrops, link_layer, 1); > if (bflag) >- show_stat("lu", 10, ibytes, link_layer|network_layer); >+ show_stat("lu", 10, ibytes, link_layer|network_layer, 0); > >- show_stat("lu", 8, opackets, link_layer|network_layer); >- show_stat("lu", 5, oerrors, link_layer); >+ show_stat("lu", 8, opackets, link_layer|network_layer, 1); >+ show_stat("lu", 5, oerrors, link_layer,1); > if (bflag) >- show_stat("lu", 10, obytes, link_layer|network_layer); >+ show_stat("lu", 10, obytes, link_layer|network_layer, 0); > >- show_stat("NRSlu", 5, collisions, link_layer); >+ show_stat("NRSlu", 5, collisions, link_layer, 1); > if (dflag) >- show_stat("LSd", 4, drops, link_layer); >+ show_stat("LSd", 4, drops, link_layer, 1); > putchar('\n'); > > if (aflag && ifaddrfound) { >@@ -637,18 +643,18 @@ > exit(1); > }; > if (!first) { >- show_stat("lu", 10, ifnet.if_ipackets - ip->ift_ip, 1); >- show_stat("lu", 5, ifnet.if_ierrors - ip->ift_ie, 1); >- show_stat("lu", 5, ifnet.if_iqdrops - ip->ift_id, 1); >- show_stat("lu", 10, ifnet.if_ibytes - ip->ift_ib, 1); >- show_stat("lu", 10, ifnet.if_opackets - ip->ift_op, 1); >- show_stat("lu", 5, ifnet.if_oerrors - ip->ift_oe, 1); >- show_stat("lu", 10, ifnet.if_obytes - ip->ift_ob, 1); >+ show_stat("lu", 10, ifnet.if_ipackets - ip->ift_ip, 1, 1); >+ show_stat("lu", 5, ifnet.if_ierrors - ip->ift_ie, 1, 1); >+ show_stat("lu", 5, ifnet.if_iqdrops - ip->ift_id, 1, 1); >+ show_stat("lu", 10, ifnet.if_ibytes - ip->ift_ib, 1, 0); >+ show_stat("lu", 10, ifnet.if_opackets - ip->ift_op, 1, 1); >+ show_stat("lu", 5, ifnet.if_oerrors - ip->ift_oe, 1, 1); >+ show_stat("lu", 10, ifnet.if_obytes - ip->ift_ob, 1, 0); > show_stat("NRSlu", 5, >- ifnet.if_collisions - ip->ift_co, 1); >+ ifnet.if_collisions - ip->ift_co, 1, 1); > if (dflag) > show_stat("LSu", 5, >- ifnet.if_snd.ifq_drops - ip->ift_dr, 1); >+ ifnet.if_snd.ifq_drops - ip->ift_dr, 1, 1); > } > ip->ift_ip = ifnet.if_ipackets; > ip->ift_ie = ifnet.if_ierrors; >@@ -688,17 +694,17 @@ > off = (u_long)TAILQ_NEXT(&ifnet, if_link); > } > if (!first) { >- show_stat("lu", 10, sum->ift_ip - total->ift_ip, 1); >- show_stat("lu", 5, sum->ift_ie - total->ift_ie, 1); >- show_stat("lu", 5, sum->ift_id - total->ift_id, 1); >- show_stat("lu", 10, sum->ift_ib - total->ift_ib, 1); >- show_stat("lu", 10, sum->ift_op - total->ift_op, 1); >- show_stat("lu", 5, sum->ift_oe - total->ift_oe, 1); >- show_stat("lu", 10, sum->ift_ob - total->ift_ob, 1); >- show_stat("NRSlu", 5, sum->ift_co - total->ift_co, 1); >+ show_stat("lu", 10, sum->ift_ip - total->ift_ip, 1, 1); >+ show_stat("lu", 5, sum->ift_ie - total->ift_ie, 1, 1); >+ show_stat("lu", 5, sum->ift_id - total->ift_id, 1, 1); >+ show_stat("lu", 10, sum->ift_ib - total->ift_ib, 1, 0); >+ show_stat("lu", 10, sum->ift_op - total->ift_op, 1, 1); >+ show_stat("lu", 5, sum->ift_oe - total->ift_oe, 1, 1); >+ show_stat("lu", 10, sum->ift_ob - total->ift_ob, 1, 0); >+ show_stat("NRSlu", 5, sum->ift_co - total->ift_co, 1, 1); > if (dflag) > show_stat("LSu", 5, >- sum->ift_dr - total->ift_dr, 1); >+ sum->ift_dr - total->ift_dr, 1, 1); > } > *total = *sum; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 183598
: 137866