mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-17 01:11:45 +00:00
error checking :)
This commit is contained in:
parent
a4f9363566
commit
12535ec1f9
2 changed files with 33 additions and 4 deletions
|
@ -101,10 +101,24 @@ void
|
||||||
CL_HTTP_Update (void)
|
CL_HTTP_Update (void)
|
||||||
{
|
{
|
||||||
int running_handles;
|
int running_handles;
|
||||||
|
int messages_in_queue;
|
||||||
|
CURLMsg *msg;
|
||||||
|
|
||||||
curl_multi_perform (multi_handle, &running_handles);
|
curl_multi_perform (multi_handle, &running_handles);
|
||||||
if (!running_handles) {
|
while ((msg = curl_multi_info_read (multi_handle, &messages_in_queue))) {
|
||||||
curl_multi_remove_handle (multi_handle, easy_handle);
|
if (msg->msg == CURLMSG_DONE) {
|
||||||
CL_FinishDownload ();
|
long response_code;
|
||||||
|
|
||||||
|
curl_easy_getinfo (msg->easy_handle, CURLINFO_RESPONSE_CODE,
|
||||||
|
&response_code);
|
||||||
|
if (response_code == 200) {
|
||||||
|
CL_FinishDownload ();
|
||||||
|
} else {
|
||||||
|
Con_Printf ("download failed: %ld\n", response_code);
|
||||||
|
CL_FailDownload ();
|
||||||
|
}
|
||||||
|
curl_multi_remove_handle (multi_handle, easy_handle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -456,6 +456,19 @@ CL_FinishDownload (void)
|
||||||
CL_RequestNextDownload ();
|
CL_RequestNextDownload ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CL_FailDownload (void)
|
||||||
|
{
|
||||||
|
if (cls.download) {
|
||||||
|
Qclose (cls.download);
|
||||||
|
cls.download = NULL;
|
||||||
|
}
|
||||||
|
dstring_clearstr (cls.downloadname);
|
||||||
|
dstring_clearstr (cls.downloadtempname);
|
||||||
|
dstring_clearstr (cls.downloadurl);
|
||||||
|
CL_RequestNextDownload ();
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
CL_OpenDownload (void)
|
CL_OpenDownload (void)
|
||||||
{
|
{
|
||||||
|
@ -505,11 +518,12 @@ CL_ParseDownload (void)
|
||||||
// read the data
|
// read the data
|
||||||
size = MSG_ReadShort (net_message);
|
size = MSG_ReadShort (net_message);
|
||||||
percent = MSG_ReadByte (net_message);
|
percent = MSG_ReadByte (net_message);
|
||||||
Con_Printf ("%d %d\n", size, percent);
|
|
||||||
if (cls.demoplayback) {
|
if (cls.demoplayback) {
|
||||||
if (size > 0)
|
if (size > 0)
|
||||||
net_message->readcount += size;
|
net_message->readcount += size;
|
||||||
dstring_clearstr (cls.downloadname);
|
dstring_clearstr (cls.downloadname);
|
||||||
|
dstring_clearstr (cls.downloadtempname);
|
||||||
dstring_clearstr (cls.downloadurl);
|
dstring_clearstr (cls.downloadurl);
|
||||||
return; // not in demo playback
|
return; // not in demo playback
|
||||||
}
|
}
|
||||||
|
@ -522,6 +536,7 @@ Con_Printf ("%d %d\n", size, percent);
|
||||||
cls.download = NULL;
|
cls.download = NULL;
|
||||||
}
|
}
|
||||||
dstring_clearstr (cls.downloadname);
|
dstring_clearstr (cls.downloadname);
|
||||||
|
dstring_clearstr (cls.downloadtempname);
|
||||||
dstring_clearstr (cls.downloadurl);
|
dstring_clearstr (cls.downloadurl);
|
||||||
CL_RequestNextDownload ();
|
CL_RequestNextDownload ();
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue