diff options
Diffstat (limited to 'lib/fsusage.c')
-rw-r--r-- | lib/fsusage.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/fsusage.c b/lib/fsusage.c index 8cc0c6d73..b43491343 100644 --- a/lib/fsusage.c +++ b/lib/fsusage.c @@ -56,14 +56,18 @@ int statvfs (); /* Return the number of TOSIZE-byte blocks used by BLOCKS FROMSIZE-byte blocks, rounding up. */ -#define adjust_blocks(blocks, fromsize, tosize) \ - (((fromsize) == (tosize)) \ - ? (blocks) /* E.g., from 512 to 512. */ \ - : (((fromsize) > (tosize)) \ - /* E.g., from 2048 to 512. */ \ - ? (blocks) * ((fromsize) / (tosize)) \ - /* E.g., from 256 to 512. */ \ - : ((blocks) + 1) / ((tosize) / (fromsize)))) +static long +adjust_blocks (blocks, fromsize, tosize) + long blocks; + int fromsize, tosize; +{ + if (fromsize == tosize) /* E.g., from 512 to 512. */ + return blocks; + else if (fromsize > tosize) /* E.g., from 2048 to 512. */ + return blocks * (fromsize / tosize); + else /* E.g., from 256 to 512. */ + return (blocks + 1) / (tosize / fromsize); +} /* Fill in the fields of FSP with information about space usage for the filesystem on which PATH resides. |