Beautiful of libcurl to use floating point types for what are never fractional values. We can do better, and we usually want these values in their integer form anyway. Signed-off-by: Dan McGee <dan@archlinux.org> --- lib/libalpm/dload.c | 16 ++++++++-------- lib/libalpm/dload.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 8387ae6..bd5ccce 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -43,7 +43,7 @@ #include "handle.h" #ifdef HAVE_LIBCURL -static double prevprogress; /* last download amount */ +static long prevprogress; /* last download amount */ static const char *get_filename(const char *url) { @@ -76,7 +76,7 @@ static int curl_progress(void *file, double dltotal, double dlnow, double UNUSED ultotal, double UNUSED ulnow) { struct dload_payload *payload = (struct dload_payload *)file; - double current_size, total_size; + long current_size, total_size; /* SIGINT sent, abort by alerting curl */ if(dload_interrupted) { @@ -88,20 +88,20 @@ static int curl_progress(void *file, double dltotal, double dlnow, return 0; } - current_size = payload->initial_size + dlnow; - total_size = payload->initial_size + dltotal; + current_size = payload->initial_size + (long)dlnow; + total_size = payload->initial_size + (long)dltotal; - if(DOUBLE_EQ(dltotal, 0) || DOUBLE_EQ(prevprogress, total_size)) { + if(DOUBLE_EQ(dltotal, 0.0) || 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(DOUBLE_EQ(prevprogress, 0)) { + if(prevprogress == 0) { payload->handle->dlcb(payload->remote_name, 0, (long)dltotal); } - payload->handle->dlcb(payload->remote_name, (long)current_size, (long)total_size); + payload->handle->dlcb(payload->remote_name, current_size, total_size); prevprogress = current_size; @@ -216,7 +216,7 @@ static void curl_set_handle_opts(struct dload_payload *payload, payload->tempfile_openmode = "ab"; curl_easy_setopt(handle->curl, CURLOPT_RESUME_FROM, (long)st.st_size); _alpm_log(handle, ALPM_LOG_DEBUG, "tempfile found, attempting continuation\n"); - payload->initial_size = (double)st.st_size; + payload->initial_size = st.st_size; } } diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h index 13034f7..f973f2d 100644 --- a/lib/libalpm/dload.h +++ b/lib/libalpm/dload.h @@ -33,7 +33,7 @@ struct dload_payload { char *destfile_name; char *content_disp_name; char *fileurl; - double initial_size; + long initial_size; long max_size; int force; int allow_resume; -- 1.7.6