From f5b373788fce2326f98a8740fdeb9b8f7dd0a846 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Sat, 2 Jan 2021 00:00:02 +0000 Subject: libalpm: don't use curl's deprecated functions This bumps the minimun curl version from 7.32.0 to 7.55.0. Signed-off-by: Allan McRae --- lib/libalpm/dload.c | 13 +++++++------ lib/libalpm/util.h | 2 -- meson.build | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index d3636e18..df5e8be7 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -391,7 +391,8 @@ static int curl_check_finished_download(CURLM *curlm, CURLMsg *msg, CURLcode curlerr; char *effective_url; long timecond; - double remote_size, bytes_dl = 0; + curl_off_t remote_size; + curl_off_t bytes_dl = 0; long remote_time = -1; struct stat st; char hostname[HOSTNAME_SIZE]; @@ -476,8 +477,8 @@ static int curl_check_finished_download(CURLM *curlm, CURLMsg *msg, /* retrieve info about the state of the transfer */ curl_easy_getinfo(curl, CURLINFO_FILETIME, &remote_time); - curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &remote_size); - curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &bytes_dl); + curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &remote_size); + curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD_T, &bytes_dl); curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &timecond); curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url); @@ -539,7 +540,7 @@ static int curl_check_finished_download(CURLM *curlm, CURLMsg *msg, /* time condition was met and we didn't download anything. we need to * clean up the 0 byte .part file that's left behind. */ - if(timecond == 1 && DOUBLE_EQ(bytes_dl, 0)) { + if(timecond == 1 && bytes_dl == 0) { _alpm_log(handle, ALPM_LOG_DEBUG, "%s: file met time condition\n", payload->remote_name); ret = 1; @@ -550,8 +551,8 @@ static int curl_check_finished_download(CURLM *curlm, CURLMsg *msg, /* remote_size isn't necessarily the full size of the file, just what the * server reported as remaining to download. compare it to what curl reported * as actually being transferred during curl_easy_perform() */ - if(!DOUBLE_EQ(remote_size, -1) && !DOUBLE_EQ(bytes_dl, -1) && - !DOUBLE_EQ(bytes_dl, remote_size)) { + if(remote_size != -1 && bytes_dl != -1 && + bytes_dl != remote_size) { _alpm_log(handle, ALPM_LOG_ERROR, _("%s appears to be truncated: %jd/%jd bytes\n"), payload->remote_name, (intmax_t)bytes_dl, (intmax_t)remote_size); GOTO_ERR(handle, ALPM_ERR_RETRIEVE, cleanup); diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h index 03c8ed44..2f120adc 100644 --- a/lib/libalpm/util.h +++ b/lib/libalpm/util.h @@ -81,8 +81,6 @@ void _alpm_alloc_fail(size_t size); (handle)->pm_errno = (err); \ return (ret); } while(0) -#define DOUBLE_EQ(x, y) (fabs((x) - (y)) < DBL_EPSILON) - #define CHECK_HANDLE(handle, action) do { if(!(handle)) { action; } (handle)->pm_errno = ALPM_ERR_OK; } while(0) /** Standard buffer size used throughout the library. */ diff --git a/meson.build b/meson.build index 264c6501..2002dc78 100644 --- a/meson.build +++ b/meson.build @@ -94,7 +94,7 @@ libarchive = dependency('libarchive', static : get_option('buildstatic')) libcurl = dependency('libcurl', - version : '>=7.32.0', + version : '>=7.55.0', required : get_option('curl'), static : get_option('buildstatic')) conf.set('HAVE_LIBCURL', libcurl.found()) -- cgit v1.2.3-70-g09d2