]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - libcurl.c
Add darkplaces.rc to the vcxproj files for sdl, sdl2 and dedicated targets.
[xonotic/darkplaces.git] / libcurl.c
index fd1671ff7344ea45bf7443950bde8b6081986950..2f001d5b5d821d79036f0b6086eb1c398d970a7e 100644 (file)
--- 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, '/');