commit - 165b8d9e451e266d433dd43c4952d78fb371c7c2
commit + ddca21290abf5f18a0ece0af679320c330c70e74
blob - 8b3e07622f60be25214d6911d182697f42d2794a
blob + efacfe9d63b20d419939d7de80dc3c8e6760f29c
--- rover.c
+++ rover.c
else
wcolor_set(rover.window, RVC_FILE, NULL);
if (!isdir) {
- char *human_suffix, *suffixes = "BKMGTPEZY";
- off_t human_size = ESIZE(j);
- for (human_suffix = suffixes; human_size >= 1024; human_suffix++)
+ char *suffix, *suffixes = "BKMGTPEZY";
+ off_t human_size = ESIZE(j) * 10;
+ for (suffix = suffixes; human_size >= 10240; suffix++)
human_size = (human_size + 512) / 1024;
- snprintf(ROW, ROWSZ, "%s%*d %c", ENAME(j),
- (int) (COLS - strlen(ENAME(j)) - 6),
- (int) human_size, *human_suffix);
+ if (*suffix == 'B')
+ snprintf(ROW, ROWSZ, "%s%*d %c", ENAME(j),
+ (int) (COLS - strlen(ENAME(j)) - 6),
+ (int) human_size / 10, *suffix);
+ else
+ snprintf(ROW, ROWSZ, "%s%*d.%d %c", ENAME(j),
+ (int) (COLS - strlen(ENAME(j)) - 8),
+ (int) human_size / 10, (int) human_size % 10, *suffix);
} else
strcpy(ROW, ENAME(j));
mvwhline(rover.window, i + 1, 1, ' ', COLS - 2);