From e28c5803bba8242ae98979700c5a034d3790255e Mon Sep 17 00:00:00 2001 From: Ivy Foster Date: Tue, 30 Aug 2016 15:33:56 -0500 Subject: Replace CURLOPT_PROGRESSFUNCTION with CURLOPT_XFERINFOFUNCTION Curl 7.32.0 added CURLOPT_XFERINFOFUNCTION, which deprecates CURLOPT_PROGRESSFUNCTION and means less casting doubles to size_ts for alpm. This change has no user-facing nor frontend-facing effects. Signed-off-by: Ivy Foster Signed-off-by: Allan McRae --- configure.ac | 4 ++-- lib/libalpm/dload.c | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index 51288e7f..d4a1c9f8 100644 --- a/configure.ac +++ b/configure.ac @@ -232,10 +232,10 @@ AM_CONDITIONAL(HAVE_LIBSSL, [test "$have_openssl" = "yes"]) # Check for libcurl have_libcurl=no if test "x$with_libcurl" != "xno"; then - PKG_CHECK_MODULES(LIBCURL, [libcurl >= 7.19.4], + PKG_CHECK_MODULES(LIBCURL, [libcurl >= 7.32.0], [AC_DEFINE(HAVE_LIBCURL, 1, [Define if libcurl is available]) have_libcurl=yes], have_libcurl=no) if test "x$have_libcurl" = xno -a "x$with_libcurl" = xyes; then - AC_MSG_ERROR([*** libcurl >= 7.19.4 is required for internal downloader support]) + AC_MSG_ERROR([*** libcurl >= 7.32.0 is required for internal downloader support]) fi fi AM_CONDITIONAL(HAVE_LIBCURL, [test "$have_libcurl" = "yes"]) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index f4e6a278..dc57c929 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -90,8 +90,8 @@ static void inthandler(int UNUSED signum) dload_interrupted = ABORT_SIGINT; } -static int dload_progress_cb(void *file, double dltotal, double dlnow, - double UNUSED ultotal, double UNUSED ulnow) +static int dload_progress_cb(void *file, curl_off_t dltotal, curl_off_t dlnow, + curl_off_t UNUSED ultotal, curl_off_t UNUSED ulnow) { struct dload_payload *payload = (struct dload_payload *)file; off_t current_size, total_size; @@ -106,7 +106,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow, return 1; } - current_size = payload->initial_size + (off_t)dlnow; + current_size = payload->initial_size + dlnow; /* is our filesize still under any set limit? */ if(payload->max_size && current_size > payload->max_size) { @@ -119,9 +119,9 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow, return 0; } - total_size = payload->initial_size + (off_t)dltotal; + total_size = payload->initial_size + dltotal; - if(DOUBLE_EQ(dltotal, 0.0) || payload->prevprogress == total_size) { + if(dltotal == 0 || payload->prevprogress == total_size) { return 0; } @@ -134,7 +134,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow, * x {x>0}, x: download complete * x {x>0, x 0}: download progress, expected total is known */ if(current_size == total_size) { - payload->handle->dlcb(payload->remote_name, (off_t)dlnow, (off_t)dltotal); + payload->handle->dlcb(payload->remote_name, dlnow, dltotal); } else if(!payload->prevprogress) { payload->handle->dlcb(payload->remote_name, 0, -1); } else if(payload->prevprogress == current_size) { @@ -142,7 +142,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow, } else { /* do NOT include initial_size since it wasn't part of the package's * download_size (nor included in the total download size callback) */ - payload->handle->dlcb(payload->remote_name, (off_t)dlnow, (off_t)dltotal); + payload->handle->dlcb(payload->remote_name, dlnow, dltotal); } payload->prevprogress = current_size; @@ -303,8 +303,8 @@ static void curl_set_handle_opts(struct dload_payload *payload, curl_easy_setopt(curl, CURLOPT_FILETIME, 1L); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); - curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, dload_progress_cb); - curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, (void *)payload); + curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, dload_progress_cb); + curl_easy_setopt(curl, CURLOPT_XFERINFODATA, (void *)payload); curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 1L); curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L); curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, dload_parseheader_cb); -- cgit v1.2.3-70-g09d2