summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libalpm/dload.c18
-rw-r--r--lib/libalpm/dload.h4
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 8387ae6f..9f085734 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 off_t 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;
+ off_t 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 + (off_t)dlnow;
+ total_size = payload->initial_size + (off_t)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)) {
- payload->handle->dlcb(payload->remote_name, 0, (long)dltotal);
+ if(prevprogress == 0) {
+ payload->handle->dlcb(payload->remote_name, 0, (off_t)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 13034f7b..bc5eb131 100644
--- a/lib/libalpm/dload.h
+++ b/lib/libalpm/dload.h
@@ -33,8 +33,8 @@ struct dload_payload {
char *destfile_name;
char *content_disp_name;
char *fileurl;
- double initial_size;
- long max_size;
+ off_t initial_size;
+ off_t max_size;
int force;
int allow_resume;
int errors_ok;