X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=libcurl.c;h=2f001d5b5d821d79036f0b6086eb1c398d970a7e;hb=aec74d3893b4e80aa814ab7b7c10b4c07b1c9881;hp=fd1671ff7344ea45bf7443950bde8b6081986950;hpb=d090340b054029faddb432e2c66085e6e91abcf7;p=xonotic%2Fdarkplaces.git diff --git a/libcurl.c b/libcurl.c index fd1671ff..2f001d5b 100644 --- a/libcurl.c +++ b/libcurl.c @@ -430,7 +430,10 @@ static size_t CURL_fwrite(void *data, size_t size, size_t nmemb, void *vdi) di->bytes_received += bytes; - return ret; // why not ret / nmemb? + return ret; + // Why not ret / nmemb? + // Because CURLOPT_WRITEFUNCTION docs say to return the number of bytes. + // Yes, this is incompatible to fwrite(2). } typedef enum @@ -977,6 +980,7 @@ static qboolean Curl_Begin(const char *URL, const char *extraheaders, double max ++numdownloads_added; } + if (curl_mutex) Thread_UnlockMutex(curl_mutex); return false; } } @@ -1000,6 +1004,7 @@ static qboolean Curl_Begin(const char *URL, const char *extraheaders, double max } } + if (curl_mutex) Thread_UnlockMutex(curl_mutex); return false; } else @@ -1773,7 +1778,7 @@ static qboolean Curl_SendRequirement(const char *filename, qboolean foundone, ch const char *thispack = FS_WhichPack(filename); const char *packurl; - if(!thispack) + if(!thispack || !*thispack) return false; p = strrchr(thispack, '/');