On Jan 25, 2015 12:25 PM, "Andrew Gregory" <andrew.gregory.8@gmail.com> wrote:
We only ever use them as off_t, so do the conversion early and avoid the need for multiple casts and DOUBLE_EQ.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> --- lib/libalpm/dload.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index c5186be..cae4b7c 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -94,7 +94,7 @@ static int dload_progress_cb(void *file, double
I'd rather we use the newer XFERINFOFUNCTION (might have the name wrong) which passes these as curl_off_t instead of double. dltotal, double dlnow,
double UNUSED ultotal, double UNUSED ulnow) { struct dload_payload *payload = (struct dload_payload *)file; - off_t current_size, total_size; + off_t current_size, total_size, xfer = dlnow, total = dltotal;
/* avoid displaying progress bar for redirects with a body */ if(payload->respcode >= 300) { @@ -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 + xfer;
/* is our filesize still under any set limit? */ if(payload->max_size && current_size > payload->max_size) { @@ -119,21 +119,21 @@ 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 + total;
- if(DOUBLE_EQ(dltotal, 0.0) || payload->prevprogress ==
+ if(total == 0 || payload->prevprogress == total_size) { return 0; }
/* initialize the progress bar here to avoid displaying it when * a repo is up to date and nothing gets downloaded */ if(payload->prevprogress == 0) { - payload->handle->dlcb(payload->remote_name, 0, (off_t)dltotal); + payload->handle->dlcb(payload->remote_name, 0, total); }
/* do NOT include initial_size since it wasn't part of the
total_size) { 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, xfer, total);
payload->prevprogress = current_size;
-- 2.2.1