diff options
author | Dave Reisner <dreisner@archlinux.org> | 2011-09-29 12:17:16 -0400 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-09-29 12:58:37 -0500 |
commit | ad8d3ceb898716cf2642fb71963c0ef5a490621e (patch) | |
tree | 8f92f670b49058e833571a4c2f66d15eedcdb250 | |
parent | 775b94e64903057a75071491670013975fc3ecb2 (diff) |
move prevprogress onto payload handle
This is a poor place for it, and it will likely move again in the
future, but it's better to have it here than as a static variable.
Initialization of this variable is now no longer necessary as its
zeroed on creation of the payload struct.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/dload.c | 11 | ||||
-rw-r--r-- | lib/libalpm/dload.h | 1 |
2 files changed, 4 insertions, 8 deletions
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index c599b7f5..33824be8 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -43,8 +43,6 @@ #include "handle.h" #ifdef HAVE_LIBCURL -static off_t prevprogress; /* last download amount */ - static const char *get_filename(const char *url) { char *filename = strrchr(url, '/'); @@ -112,19 +110,19 @@ static int curl_progress(void *file, double dltotal, double dlnow, total_size = payload->initial_size + (off_t)dltotal; - if(DOUBLE_EQ(dltotal, 0.0) || prevprogress == total_size) { + if(DOUBLE_EQ(dltotal, 0.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(prevprogress == 0) { + if(payload->prevprogress == 0) { payload->handle->dlcb(payload->remote_name, 0, (off_t)dltotal); } payload->handle->dlcb(payload->remote_name, current_size, total_size); - prevprogress = current_size; + payload->prevprogress = current_size; return 0; } @@ -376,9 +374,6 @@ static int curl_download_internal(struct dload_payload *payload, mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe); mask_signal(SIGINT, &inthandler, &orig_sig_int); - /* Progress 0 - initialize */ - prevprogress = 0; - /* perform transfer */ payload->curlerr = curl_easy_perform(curl); diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h index 9be29bc8..5442c0e2 100644 --- a/lib/libalpm/dload.h +++ b/lib/libalpm/dload.h @@ -35,6 +35,7 @@ struct dload_payload { char *fileurl; off_t initial_size; off_t max_size; + off_t prevprogress; int force; int allow_resume; int errors_ok; |