diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/progress.c | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/lib/progress.c b/lib/progress.c index 972629c64..b22f4a70b 100644 --- a/lib/progress.c +++ b/lib/progress.c @@ -57,6 +57,7 @@ static char *max5data(double bytes, char *max5)  {  #define ONE_KILOBYTE 1024  #define ONE_MEGABYTE (1024*1024) +#define ONE_GIGABYTE (1024*1024*1024)    if(bytes < 100000) {      sprintf(max5, "%5Od", (curl_off_t)bytes); @@ -71,7 +72,17 @@ static char *max5data(double bytes, char *max5)      sprintf(max5, "%4.1fM", bytes/ONE_MEGABYTE);      return max5;    } +#if SIZEOF_CURL_OFF_T > 4 +  if((curl_off_t)bytes < ((curl_off_t)10000*ONE_MEGABYTE)) { +    sprintf(max5, "%4OdM", (curl_off_t)bytes/ONE_MEGABYTE); +    return max5; +  } +  /* 10000 MB - 8589934587 GB !! */ +  sprintf(max5, "%4.1fG", bytes/ONE_GIGABYTE); +#else    sprintf(max5, "%4OdM", (curl_off_t)bytes/ONE_MEGABYTE); +#endif +    return max5;  } | 
