[pacman-dev] [PATCH] Don't initialize progress to zero before calling curl_easy_perform().

Lukas Fleischer archlinux at cryptocrack.de
Mon Mar 21 06:53:52 EDT 2011


Drawing progress bars before calling curl_easy_perform() is needless as
the curl progress callback is called with zero progress before actually
downloading the file anyways. Fixes display of "0%" progress bars when
sync'ing package databases that are already up to date.

Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 lib/libalpm/dload.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index ebfd042..a14d1d1 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -212,10 +212,9 @@ static int curl_download_internal(const char *url, const char *localpath,
 	sigaction(SIGINT, NULL, &sig_int[OLD]);
 	sigaction(SIGINT, &sig_int[NEW], NULL);
 
-	/* Progress 0 - initialize */
-	if(handle->dlcb) {
-		handle->dlcb(filename, 0, 1);
-	}
+	/* set initial value of prevprogress to -1 which causes curl_progress() to
+	 * initialize the progress bar with 0% once. */
+	prevprogress = -1;
 
 	/* perform transfer */
 	handle->curlerr = curl_easy_perform(handle->curl);
-- 
1.7.4.1



More information about the pacman-dev mailing list