From eb856b04fee26345ea0c2addb19c3d97a847e931 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 8 Apr 2000 19:28:23 +0000 Subject: Improved the looks of the progress meter when the file size is between 9999 KB and 100 MB since it then can display the size as XX.X MB instead of just XX as before. --- lib/progress.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/progress.c b/lib/progress.c index 1bd5b470c..1bb5aec0c 100644 --- a/lib/progress.c +++ b/lib/progress.c @@ -72,15 +72,23 @@ void time2str(char *r, int t) but never longer than 5 columns. Add suffix k, M, G when suitable... */ char *max5data(double bytes, char *max5) { +#define ONE_KILOBYTE 1024 +#define ONE_MEGABYTE (1024*1024) + if(bytes < 100000) { sprintf(max5, "%5d", (int)bytes); return max5; } - if(bytes < (9999*1024)) { - sprintf(max5, "%4dk", (int)bytes/1024); + if(bytes < (9999*ONE_KILOBYTE)) { + sprintf(max5, "%4dk", (int)bytes/ONE_KILOBYTE); + return max5; + } + if(bytes < (100*ONE_MEGABYTE)) { + /* 'XX.XM' is good as long as we're less than 100 megs */ + sprintf(max5, "%2.1fM", bytes/ONE_MEGABYTE); return max5; } - sprintf(max5, "%4dM", (int)bytes/(1024*1024)); + sprintf(max5, "%4dM", (int)bytes/ONE_MEGABYTE); return max5; } -- cgit v1.2.3