commit 58d90bfcf68441b9fdf659788d92a257a1597deb
parent 90e8b81c3eef34e58c8d5171d79dac94576b3f00
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Mon, 5 Mar 2018 01:11:29 +0530
Revert "fix rounding carry in coolsize() (#91)"
This reverts commit 7654a2e0c6057c6d6d85e0625627e3e1dbe8d52d.
Diffstat:
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/nnn.c b/nnn.c
@@ -1442,7 +1442,6 @@ coolsize(off_t size)
static char size_buf[12]; /* Buffer to hold human readable size */
static int rem, i;
static int fdig; /* number of fractional digits to show */
- static int frac;
i = 0;
rem = 0;
@@ -1453,16 +1452,12 @@ coolsize(off_t size)
++i;
}
+ rem = (1000 * rem) >> 10; /* convert 1024th fractions to 1000th */
fdig = 3;
- frac = 1000;
- rem = (10000 * rem) >> 10; /* convert 1024th fractions to 10000th */
- rem = (rem / 10) + (rem % 10 >= 5 ? 1 : 0); /* round to 1000th */
/* Show 1 decimal for KB sizes and 2 decimals for MBs. */
- if (i < 3) { --fdig; rem = (rem + 5) / 10; frac /= 10; }
- if (i < 2) { --fdig; rem = (rem + 5) / 10; frac /= 10; }
- /* carry, in case rounding above overflows the fractional part */
- if (i < 3 && rem >= frac) { size++; rem = 0; }
+ if (i < 3) { --fdig; rem = (rem + 5) / 10; }
+ if (i < 2) { --fdig; rem = (rem + 5) / 10; }
if (i > 0)
snprintf(size_buf, 12, "%" PRId64 ".%0*i%c", size, fdig, rem, U[i]);