From df49b43613693fd8b710972c680aac0c476825c9 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sun, 30 May 2021 02:38:10 -0700 Subject: [PATCH] Beautify the file list files (e.g. NEWFILES.TXT) a bit Use the file size estimates rather than actual byte values (to keep lines < 80 chars). Use file name file summary/description is blank or doesn't exist. --- src/sbbs3/listfile.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/listfile.cpp b/src/sbbs3/listfile.cpp index bde0a0d830..9e42737bc0 100644 --- a/src/sbbs3/listfile.cpp +++ b/src/sbbs3/listfile.cpp @@ -1073,8 +1073,15 @@ int sbbs_t::listfileinfo(uint dirnum, const char *filespec, long mode) void sbbs_t::listfiletofile(file_t* f, FILE* fp) { char fname[13]; /* This is one of the only 8.3 filename formats left! (used for display purposes only) */ - fprintf(fp, "%-*s %10lu %s\r\n", (int)sizeof(fname)-1, format_filename(f->name, fname, sizeof(fname)-1, /* pad: */TRUE) - ,(ulong)getfilesize(&cfg, f), f->desc); + char bytes[32]; + unsigned units = 1; + off_t size = getfilesize(&cfg, f); + do { + byte_estimate_to_str(size, bytes, sizeof(bytes), units, /* precision: */1); + units *= 1024; + } while(strlen(bytes) > 6 && units < 1024 * 1024 * 1024); + fprintf(fp, "%-*s %7s %s\r\n", (int)sizeof(fname)-1, format_filename(f->name, fname, sizeof(fname)-1, /* pad: */TRUE) + ,bytes, (f->desc == NULL || *f->desc == '\0') ? f->name : f->desc); } int extdesclines(char *str) -- GitLab