Prevent integer div by 0 in curl progress callback

If the curl callback is called at the exact same time as the
download begins, this callback would cause an integer division by
zero.
This commit is contained in:
Eidolon 2024-05-04 17:44:05 -05:00
parent 715cbd5590
commit b2aeef5777

View file

@ -1787,12 +1787,25 @@ size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
int curlprogress_callback(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
{
time_t curtime;
(void)clientp;
(void)ultotal;
(void)ulnow; // Function prototype requires these but we won't use, so just discard
curtime = time(NULL);
curl_dlnow = dlnow;
curl_dltotal = dltotal;
getbytes = curl_dlnow / (time(NULL) - curl_starttime); // To-do: Make this more accurate???
if (curtime > curl_starttime)
{
getbytes = curl_dlnow / (curtime - curl_starttime); // To-do: Make this more accurate???
}
else
{
getbytes = 0;
}
return 0;
}