On Tue, Aug 30, 2016 at 02:54:31PM -0500, [email protected] wrote: > From: Ivy Foster <[email protected]> > > 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.
Making this change would require that you update configure.ac to bump the minimum version for libcurl (which is currently 7.19.4). FWIW 7.32.0 was released in August 2013. > Signed-off-by: Ivy Foster <[email protected]> > --- > lib/libalpm/dload.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c > index f4e6a27..dc57c92 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<y}, y {y > 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); > -- > 2.9.3
