mirror of https://github.com/moparisthebest/curl
trspeed: use long double for transfer speed calculation
This commit is contained in:
parent
7ab54e8f41
commit
8a75224a69
|
@ -369,26 +369,13 @@ void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns the average speed */
|
/* returns the average speed in bytes / second */
|
||||||
static curl_off_t trspeed(curl_off_t size, curl_off_t us)
|
static curl_off_t trspeed(curl_off_t size, /* number of bytes */
|
||||||
|
curl_off_t us) /* microseconds */
|
||||||
{
|
{
|
||||||
curl_off_t sec;
|
if(us < 1)
|
||||||
if(size < CURL_OFF_T_MAX/1000000) {
|
return size * 1000000;
|
||||||
if(us < 1)
|
return (curl_off_t)((long double)size/us * 1000000);
|
||||||
return size * 1000000;
|
|
||||||
return (size * 1000000) / us;
|
|
||||||
}
|
|
||||||
else if(size < CURL_OFF_T_MAX/1000) {
|
|
||||||
curl_off_t ms = us/1000;
|
|
||||||
if(ms < 1)
|
|
||||||
return size * 1000;
|
|
||||||
return (size * 1000) / ms;
|
|
||||||
}
|
|
||||||
sec = us / 1000000;
|
|
||||||
if(sec < 1)
|
|
||||||
return size;
|
|
||||||
|
|
||||||
return size / sec;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns TRUE if it's time to show the progress meter */
|
/* returns TRUE if it's time to show the progress meter */
|
||||||
|
|
Loading…
Reference in New Issue