Another curl version-dependent feature thing

Seriously, who thought doubles were a good idea?
This commit is contained in:
Tamás Bálint Misius 2019-03-23 10:30:26 +01:00
parent bd7aa33286
commit e07b133e5a
No known key found for this signature in database
GPG Key ID: 5B472A12F6ECA9F2
2 changed files with 15 additions and 5 deletions

View File

@ -6,12 +6,14 @@
#include "common/tpt-thread.h" #include "common/tpt-thread.h"
#include <curl/curl.h> #include <curl/curl.h>
#include "common/String.h" #include "common/String.h"
#undef GetUserName // pthreads (included by curl) defines this, breaks stuff #undef GetUserName // pthreads defines this, breaks stuff
#ifdef CURL_AT_LEAST_VERSION #if defined(CURL_AT_LEAST_VERSION) && CURL_AT_LEAST_VERSION(7, 55, 0)
# if CURL_AT_LEAST_VERSION(7, 56, 0) # define REQUEST_USE_CURL_OFFSET_T
#endif
#if defined(CURL_AT_LEAST_VERSION) && CURL_AT_LEAST_VERSION(7, 56, 0)
# define REQUEST_USE_CURL_MIMEPOST # define REQUEST_USE_CURL_MIMEPOST
# endif
#endif #endif
namespace http namespace http

View File

@ -173,8 +173,16 @@ namespace http
{ {
if (multi && request->easy) if (multi && request->easy)
{ {
#ifdef REQUEST_USE_CURL_OFFSET_T
curl_easy_getinfo(request->easy, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &request->rm_total); curl_easy_getinfo(request->easy, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &request->rm_total);
curl_easy_getinfo(request->easy, CURLINFO_SIZE_DOWNLOAD_T, &request->rm_done); curl_easy_getinfo(request->easy, CURLINFO_SIZE_DOWNLOAD_T, &request->rm_done);
#else
double total, done;
curl_easy_getinfo(request->easy, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &total);
curl_easy_getinfo(request->easy, CURLINFO_SIZE_DOWNLOAD, &done);
request->rm_total = (curl_off_t)total;
request->rm_done = (curl_off_t)done;
#endif
} }
if (request->status) if (request->status)
{ {