df(1): Fix amd64 warnings (type widths).
authorSascha Wildner <saw@online.de>
Thu, 26 Feb 2009 04:54:04 +0000 (05:54 +0100)
committerSascha Wildner <saw@online.de>
Thu, 26 Feb 2009 05:58:05 +0000 (06:58 +0100)
Taken-from: FreeBSD

bin/df/df.c

index 646af4a..5a6025e 100644 (file)
@@ -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("  ");