commit 165b8d9e451e266d433dd43c4952d78fb371c7c2 from: Marcel Rodrigues date: Thu Apr 23 14:56:59 2015 UTC Make file sizes human readable. commit - 8697a1c0444c73cca3d4db1aa6a68b751cca70de commit + 165b8d9e451e266d433dd43c4952d78fb371c7c2 blob - 8c1116d23d79f9d69e852b001b0b5cb79f3ceaf6 blob + eebdc019ec30de7a7fea1dd9275598b4b5aff3cc --- Makefile +++ Makefile @@ -1,3 +1,4 @@ +CFLAGS=-D_FILE_OFFSET_BITS=64 LDLIBS=-lcurses PREFIX=/usr/local MANPREFIX=$(PREFIX)/man blob - 19262fbbff20e15e8f7741c37934db5df8b16766 blob + 8b3e07622f60be25214d6911d182697f42d2794a --- rover.c +++ rover.c @@ -324,10 +324,15 @@ update_view() wcolor_set(rover.window, RVC_DIR, NULL); else wcolor_set(rover.window, RVC_FILE, NULL); - if (!isdir) - snprintf(ROW, ROWSZ, "%s%*d", ENAME(j), - (int) (COLS - strlen(ENAME(j)) - 4), (int) ESIZE(j)); - else + if (!isdir) { + char *human_suffix, *suffixes = "BKMGTPEZY"; + off_t human_size = ESIZE(j); + for (human_suffix = suffixes; human_size >= 1024; human_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); + } else strcpy(ROW, ENAME(j)); mvwhline(rover.window, i + 1, 1, ' ', COLS - 2); if (marking && MARKED(j))