}
#endif
+static off_t get_size(off_t size, off_t *pval, uint_t comp)
+{
+ off_t rem = *pval;
+ off_t quo = rem / 10;
+
+ if ((rem - (quo * 10)) >= 5) {
+ rem = quo + 1;
+ if (rem == comp) {
+ ++size;
+ rem = 0;
+ }
+ } else
+ rem = quo;
+
+ *pval = rem;
+ return size;
+}
+
static char *coolsize(off_t size)
{
const char * const U = "BKMGTPEZY";
if (i == 1) {
rem = (rem * 1000) >> 10;
-
rem /= 10;
- if (rem % 10 >= 5) {
- rem = (rem / 10) + 1;
- if (rem == 10) {
- ++size;
- rem = 0;
- }
- } else
- rem /= 10;
+ size = get_size(size, &rem, 10);
} else if (i == 2) {
rem = (rem * 1000) >> 10;
-
- if (rem % 10 >= 5) {
- rem = (rem / 10) + 1;
- if (rem == 100) {
- ++size;
- rem = 0;
- }
- } else
- rem /= 10;
- } else if (i > 0) {
+ size = get_size(size, &rem, 100);
+ } else if (i > 2) {
rem = (rem * 10000) >> 10;
-
- if (rem % 10 >= 5) {
- rem = (rem / 10) + 1;
- if (rem == 1000) {
- ++size;
- rem = 0;
- }
- } else
- rem /= 10;
+ size = get_size(size, &rem, 1000);
}
if (i > 0 && i < 6 && rem) {
attrs |= A_REVERSE;
if (attrs)
attron(attrs);
-
if (!ind)
++namecols;
}
move(2 + last - curscroll, 0);
- printptr(&pdents[last], ncols, false);
+ printptr(&pdents[last], ncols, FALSE);
if (g_state.oldcolor && (pdents[cur].flags & DIR_OR_LINK_TO_DIR)) {
if (!dir) {/* First file is not a directory */
}
move(2 + cur - curscroll, 0);
- printptr(&pdents[cur], ncols, true);
+ printptr(&pdents[cur], ncols, TRUE);
/* Must reset e.g. no files in dir */
if (dir)