]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/urllib.qc
Remove `-Wno-double-declaration`
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / urllib.qc
index 1bc06502734f66719fd81fabb14b17bb7bd14b3e..518b207fca24bb5b63222c22d9ac80c8b43d73df 100644 (file)
@@ -1,7 +1,7 @@
 // files
 .float url_fh;
-#define URL_FH_CURL   -1
-#define URL_FH_STDOUT -2
+const float URL_FH_CURL = -1;
+const float URL_FH_STDOUT = -2;
 
 // URLs
 .string url_url;
 .url_ready_func url_ready;
 .entity url_ready_pass;
 
+// for multi handles
+.float url_attempt;
+.float url_mode;
+
 entity url_fromid[NUM_URL_ID];
 float autocvar__urllib_nextslot;
 
@@ -29,7 +33,7 @@ float url_URI_Get_Callback(float id, float status, string data)
                return 0;
        if(e.url_rbuf >= 0 || e.url_wbuf >= 0)
        {
-               print(sprintf("WARNING: handle %d (%s) has already received data?!?\n", id + NUM_URL_ID, e.url_url));
+               printf("WARNING: handle %d (%s) has already received data?!?\n", id + NUM_URL_ID, e.url_url);
                return 0;
        }
 
@@ -81,7 +85,7 @@ float url_URI_Get_Callback(float id, float status, string data)
 void url_single_fopen(string url, float mode, url_ready_func rdy, entity pass)
 {
        entity e;
-       float i;
+       int i;
        if(strstrofs(url, "://", 0) >= 0)
        {
                switch(mode)
@@ -155,7 +159,7 @@ void url_single_fopen(string url, float mode, url_ready_func rdy, entity pass)
                                url_fromid[i] = e;
 
                                // make sure this slot won't be reused quickly even on map change
-                               cvar_set("_urllib_nextslot", ftos(mod(i + 1, NUM_URL_ID)));
+                               cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
                                break;
                }
        }
@@ -205,7 +209,7 @@ void url_single_fopen(string url, float mode, url_ready_func rdy, entity pass)
 // close a file
 void url_fclose(entity e)
 {
-       float i;
+       int i;
 
        if(e.url_fh == URL_FH_CURL)
        {
@@ -258,7 +262,7 @@ void url_fclose(entity e)
                        url_fromid[i] = e;
 
                        // make sure this slot won't be reused quickly even on map change
-                       cvar_set("_urllib_nextslot", ftos(mod(i + 1, NUM_URL_ID)));
+                       cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
                }
                else
                {
@@ -345,16 +349,16 @@ void url_multi_ready(entity fh, entity me, float status)
                        remove(me);
                        return;
                }
-               me.cnt += 1;
+               me.url_attempt += 1;
                n = tokenize_console(me.url_url);
-               if(n <= me.cnt)
+               if(n <= me.url_attempt)
                {
                        me.url_ready(fh, me.url_ready_pass, status);
                        strunzone(me.url_url);
                        remove(me);
                        return;
                }
-               url_single_fopen(argv(me.cnt), me.lip, url_multi_ready, me);
+               url_single_fopen(argv(me.url_attempt), me.url_mode, url_multi_ready, me);
                return;
        }
        me.url_ready(fh, me.url_ready_pass, status);
@@ -374,8 +378,8 @@ void url_multi_fopen(string url, float mode, url_ready_func rdy, entity pass)
        me = spawn();
        me.classname = "url_multi";
        me.url_url = strzone(url);
-       me.cnt = 0;
-       me.lip = mode;
+       me.url_attempt = 0;
+       me.url_mode = mode;
        me.url_ready = rdy;
        me.url_ready_pass = pass;
        url_single_fopen(argv(0), mode, url_multi_ready, me);