From 0da6c591c0c4a4a8649f1549d095baa74a4191d9 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Thu, 17 Mar 2011 09:01:30 -0400 Subject: [PATCH] Fix triple progress bars on download Signed-off-by: Dave Reisner Signed-off-by: Dan McGee --- lib/libalpm/dload.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 25bb659b..320f84e8 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -47,6 +47,8 @@ #include "util.h" #include "handle.h" +static int prevprogress; /* last download amount */ + static char *get_filename(const char *url) { char *filename = strrchr(url, '/'); if(filename != NULL) { @@ -92,7 +94,7 @@ static int curl_progress(void *filename, double dltotal, double dlnow, (void)ultotal; (void)ulnow; - if(dltotal == 0) { + if(dltotal == 0 || prevprogress == dltotal) { return(0); } @@ -102,6 +104,8 @@ static int curl_progress(void *filename, double dltotal, double dlnow, handle->dlcb((const char*)filename, (long)dlnow, (long)dltotal); + prevprogress = dlnow; + return(0); }