Browse Source

compatible with old curl

dmuratshin 8 years ago
parent
commit
1f61691255

+ 12 - 1
oxygine/src/core/curl/HttpRequestCurlTask.cpp

@@ -178,6 +178,12 @@ namespace oxygine
         return 0;
     }
 
+
+    int HttpRequestTaskCURL::cbProgressFunction(void* userData, double dltotal, double dlnow, double ultotal, double ulnow)
+    {
+        return ((HttpRequestTaskCURL*)userData)->_cbXRefInfoFunction((curl_off_t) dltotal, (curl_off_t)dlnow);
+    }
+
     size_t HttpRequestTaskCURL::cbWriteFunction(char* d, size_t n, size_t l, void* userData)
     {
         return ((HttpRequestTaskCURL*)userData)->_cbWriteFunction(d, n, l);
@@ -231,14 +237,19 @@ namespace oxygine
         curl_easy_setopt(_easy, CURLOPT_WRITEFUNCTION, HttpRequestTaskCURL::cbWriteFunction);
         curl_easy_setopt(_easy, CURLOPT_WRITEDATA, this);
 
+
+        curl_easy_setopt(_easy, CURLOPT_NOPROGRESS, 0);
+
 #ifdef CURLOPT_XFERINFOFUNCTION
         curl_easy_setopt(_easy, CURLOPT_XFERINFOFUNCTION, HttpRequestTaskCURL::cbXRefInfoFunction);
         curl_easy_setopt(_easy, CURLOPT_XFERINFODATA, this);
 #else
 
+        curl_easy_setopt(_easy, CURLOPT_PROGRESSFUNCTION, HttpRequestTaskCURL::cbProgressFunction);
+        curl_easy_setopt(_easy, CURLOPT_PROGRESSDATA, this);
 #endif
         curl_easy_setopt(_easy, CURLOPT_FOLLOWLOCATION, true);
-        curl_easy_setopt(_easy, CURLOPT_NOPROGRESS, 0);
+        
 
 
         curl_easy_setopt(_easy, CURLOPT_SSL_VERIFYPEER, false);

+ 2 - 0
oxygine/src/core/curl/HttpRequestCurlTask.h

@@ -29,6 +29,8 @@ namespace oxygine
         static size_t cbXRefInfoFunction(void* clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow);
         size_t _cbXRefInfoFunction(curl_off_t dltotal, curl_off_t dlnow);
 
+        static int cbProgressFunction(void* clientp, double dltotal, double dlnow, double ultotal, double ulnow);
+
 
         void _run();
         void _finalize(bool error);