]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - libcurl.c
Fix some signed/unsigned mess. Not a real problem though.
[xonotic/darkplaces.git] / libcurl.c
index 48b9fdaa6e07ed1065590ebe47a39416082b3832..b228350edfd385f7501ec4d174aed741f5f91773 100644 (file)
--- a/libcurl.c
+++ b/libcurl.c
@@ -206,7 +206,7 @@ typedef struct downloadinfo_s
        CURL *curle;
        qboolean started;
        int loadtype;
-       unsigned long bytes_received; // for buffer
+       size_t bytes_received; // for buffer
        double bytes_received_curl; // for throttling
        double bytes_sent_curl; // for throttling
        struct downloadinfo_s *next, *prev;
@@ -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
@@ -1773,7 +1776,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, '/');