[pacman-dev] [PATCH 1/3] dload_progress_cb: cast values to off_t up front

Andrew Gregory andrew.gregory.8 at gmail.com
Sun Jan 25 17:29:14 UTC 2015


We only ever use them as off_t, so do the conversion early and avoid the
need for multiple casts and DOUBLE_EQ.

Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
 lib/libalpm/dload.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index c5186be..cae4b7c 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -94,7 +94,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow,
 		double UNUSED ultotal, double UNUSED ulnow)
 {
 	struct dload_payload *payload = (struct dload_payload *)file;
-	off_t current_size, total_size;
+	off_t current_size, total_size, xfer = dlnow, total = dltotal;
 
 	/* avoid displaying progress bar for redirects with a body */
 	if(payload->respcode >= 300) {
@@ -106,7 +106,7 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow,
 		return 1;
 	}
 
-	current_size = payload->initial_size + (off_t)dlnow;
+	current_size = payload->initial_size + xfer;
 
 	/* is our filesize still under any set limit? */
 	if(payload->max_size && current_size > payload->max_size) {
@@ -119,21 +119,21 @@ static int dload_progress_cb(void *file, double dltotal, double dlnow,
 		return 0;
 	}
 
-	total_size = payload->initial_size + (off_t)dltotal;
+	total_size = payload->initial_size + total;
 
-	if(DOUBLE_EQ(dltotal, 0.0) || payload->prevprogress == total_size) {
+	if(total == 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(payload->prevprogress == 0) {
-		payload->handle->dlcb(payload->remote_name, 0, (off_t)dltotal);
+		payload->handle->dlcb(payload->remote_name, 0, total);
 	}
 
 	/* do NOT include initial_size since it wasn't part of the package's
 	 * download_size (nor included in the total download size callback) */
-	payload->handle->dlcb(payload->remote_name, (off_t)dlnow, (off_t)dltotal);
+	payload->handle->dlcb(payload->remote_name, xfer, total);
 
 	payload->prevprogress = current_size;
 
-- 
2.2.1


More information about the pacman-dev mailing list