diff options
author | ru <ru@FreeBSD.org> | 2006-11-20 16:04:41 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2006-11-20 16:04:41 +0000 |
commit | 1ea77e90a7ba6eb03ef9b3fc9b7d651d068676a2 (patch) | |
tree | 4492f0248b0817ad7a3f6e447b1c16b1f57bfac9 /release/picobsd | |
parent | b38795bee6d9520e36b7e2161f05eeaeb5a0f719 (diff) | |
download | FreeBSD-src-1ea77e90a7ba6eb03ef9b3fc9b7d651d068676a2.zip FreeBSD-src-1ea77e90a7ba6eb03ef9b3fc9b7d651d068676a2.tar.gz |
- Fix types of "struct vmmeter" members so they are unsigned.
- Fix overflow bugs in sysctl(8), systat(1), and vmstat(8)
when printing values of "struct vmmeter" in kilobytes as
they don't necessarily fit into 32 bits. (Fix sysctl(8)
reporting of a total virtual memory; it's in pages too.)
Diffstat (limited to 'release/picobsd')
-rw-r--r-- | release/picobsd/tinyware/vm/vm.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/release/picobsd/tinyware/vm/vm.c b/release/picobsd/tinyware/vm/vm.c index 695f2af..236020b 100644 --- a/release/picobsd/tinyware/vm/vm.c +++ b/release/picobsd/tinyware/vm/vm.c @@ -96,13 +96,17 @@ main(int argc, char *argv[]) printf(" r w l s tot act tot act tot act tot act\n"); } printf("%2hu%2hu%2hu%2hu",v.t_rq-1,v.t_dw+v.t_pw,v.t_sl,v.t_sw); - printf("%7ld %7ld %7ld%7ld", - (long)pgtok(v.t_vm),(long)pgtok(v.t_avm), - (long)pgtok(v.t_rm),(long)pgtok(v.t_arm)); - printf("%7ld%7ld%7ld%7ld%7ld\n", - (long)pgtok(v.t_vmshr),(long)pgtok(v.t_avmshr), - (long)pgtok(v.t_rmshr),(long)pgtok(v.t_armshr), - (long)pgtok(v.t_free)); + printf("%7lu %7lu %7lu%7lu", + (unsigned long)pgtok(v.t_vm), + (unsigned long)pgtok(v.t_avm), + (unsigned long)pgtok(v.t_rm), + (unsigned long)pgtok(v.t_arm)); + printf("%7lu%7lu%7lu%7lu%7lu\n", + (unsigned long)pgtok(v.t_vmshr), + (unsigned long)pgtok(v.t_avmshr), + (unsigned long)pgtok(v.t_rmshr), + (unsigned long)pgtok(v.t_armshr), + (unsigned long)pgtok(v.t_free)); sleep(5); i++; if(i>22) i=0; |