From: Daniel Stenberg Date: Sat, 8 Apr 2000 19:28:23 +0000 (+0000) Subject: Improved the looks of the progress meter when the file size is between X-Git-Tag: curl-7_1_1~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb856b04fee26345ea0c2addb19c3d97a847e931;p=thirdparty%2Fcurl.git 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. --- diff --git a/lib/progress.c b/lib/progress.c index 1bd5b470c1..1bb5aec0cb 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; }