mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'fix-http-source-crashes' into 'master'
Prevent integer div by 0 in curl progress callback See merge request KartKrew/Kart!2363
This commit is contained in:
commit
5b513efb96
1 changed files with 18 additions and 5 deletions
|
|
@ -62,8 +62,8 @@
|
||||||
static boolean AddFileToSendQueue(INT32 node, const char *filename, UINT8 fileid);
|
static boolean AddFileToSendQueue(INT32 node, const char *filename, UINT8 fileid);
|
||||||
|
|
||||||
#ifdef HAVE_CURL
|
#ifdef HAVE_CURL
|
||||||
size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream);
|
static 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);
|
static int curlprogress_callback(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Sender structure
|
// Sender structure
|
||||||
|
|
@ -1778,21 +1778,34 @@ filestatus_t findfile(char *filename, const UINT8 *wantedmd5sum, boolean complet
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CURL
|
#ifdef HAVE_CURL
|
||||||
size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
|
static size_t curlwrite_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
|
||||||
{
|
{
|
||||||
size_t written;
|
size_t written;
|
||||||
written = fwrite(ptr, size, nmemb, stream);
|
written = fwrite(ptr, size, nmemb, stream);
|
||||||
return written;
|
return written;
|
||||||
}
|
}
|
||||||
|
|
||||||
int curlprogress_callback(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
static 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)clientp;
|
||||||
(void)ultotal;
|
(void)ultotal;
|
||||||
(void)ulnow; // Function prototype requires these but we won't use, so just discard
|
(void)ulnow; // Function prototype requires these but we won't use, so just discard
|
||||||
|
|
||||||
|
curtime = time(NULL);
|
||||||
|
|
||||||
curl_dlnow = dlnow;
|
curl_dlnow = dlnow;
|
||||||
curl_dltotal = dltotal;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue