From 91a6f290e1e69e232e21688091b8b700e850dc7b Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Thu, 26 Feb 2009 05:54:04 +0100 Subject: [PATCH] df(1): Fix amd64 warnings (type widths). Taken-from: FreeBSD --- bin/df/df.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) diff --git a/bin/df/df.c b/bin/df/df.c index 646af4a..5a6025e 100644 --- a/bin/df/df.c +++ b/bin/df/df.c @@ -337,15 +337,13 @@ prthumanval(int64_t bytes) * Convert statfs returned filesystem size into BLOCKSIZE units. * Attempts to avoid overflow for large filesystems. */ -static -int64_t -fsbtoblk(int64_t num, long bsize, long reqbsize) +static intmax_t +fsbtoblk(int64_t num, uint64_t bsize, u_long reqbsize) { - if (bsize && bsize < reqbsize) - num = num / (reqbsize / bsize); + if (bsize != 0 && bsize < reqbsize) + return (num / (intmax_t)(reqbsize / bsize)); else - num = num * (bsize / reqbsize); - return(num); + return (num * (intmax_t)(bsize / reqbsize)); } /* @@ -388,7 +386,7 @@ prtstat(struct statfs *sfsp, struct statvfs *vsfsp, struct maxwidths *mwp) if (hflag) { prthuman(vsfsp, used); } else { - printf(" %*lld %*lld %*lld", mwp->total, + printf(" %*jd %*jd %*jd", mwp->total, fsbtoblk(vsfsp->f_blocks, vsfsp->f_bsize, blocksize), mwp->used, fsbtoblk(used, vsfsp->f_bsize, blocksize), mwp->avail, fsbtoblk(vsfsp->f_bavail, vsfsp->f_bsize, @@ -399,8 +397,8 @@ prtstat(struct statfs *sfsp, struct statvfs *vsfsp, struct maxwidths *mwp) if (iflag) { inodes = vsfsp->f_files; used = inodes - vsfsp->f_ffree; - printf(" %*lld %*lld %4.0f%% ", mwp->iused, used, - mwp->ifree, (int64_t)vsfsp->f_ffree, inodes == 0 ? 100.0 : + printf(" %*jd %*jd %4.0f%% ", mwp->iused, (intmax_t)used, + mwp->ifree, (intmax_t)vsfsp->f_ffree, inodes == 0 ? 100.0 : (double)used / (double)inodes * 100.0); } else printf(" "); -- 1.7.7.2