[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: progress: Do not display the last 0B transfer when size is unknow
From: |
Clément Lassieur |
Subject: |
02/02: progress: Do not display the last 0B transfer when size is unknown. |
Date: |
Fri, 16 Nov 2018 08:55:13 -0500 (EST) |
snape pushed a commit to branch master
in repository guix.
commit d827fd31ca19b2f81252cbe4e8bc982dd453a49a
Author: Clément Lassieur <address@hidden>
Date: Wed Nov 14 09:16:43 2018 +0100
progress: Do not display the last 0B transfer when size is unknown.
* guix/progress.scm (display-download-progress): Don't display anything when
both SIZE and TRANSFERRED are null.
---
guix/progress.scm | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/guix/progress.scm b/guix/progress.scm
index 7a25f11..65080bc 100644
--- a/guix/progress.scm
+++ b/guix/progress.scm
@@ -212,17 +212,20 @@ throughput."
(current-terminal-columns))
log-port)
(force-output log-port))
- (let* ((throughput (/ transferred elapsed))
- (left (format #f " ~a" file))
- (right (format #f "~a/s ~a | ~a transferred"
- (byte-count->string throughput)
- (seconds->string elapsed)
- (byte-count->string transferred))))
- (erase-current-line log-port)
- (display (string-pad-middle left right
- (current-terminal-columns))
- log-port)
- (force-output log-port))))
+ ;; If we don't know the total size, the last transfer will have a 0B
+ ;; size. Don't display it.
+ (unless (zero? transferred)
+ (let* ((throughput (/ transferred elapsed))
+ (left (format #f " ~a" file))
+ (right (format #f "~a/s ~a | ~a transferred"
+ (byte-count->string throughput)
+ (seconds->string elapsed)
+ (byte-count->string transferred))))
+ (erase-current-line log-port)
+ (display (string-pad-middle left right
+ (current-terminal-columns))
+ log-port)
+ (force-output log-port)))))
(define %progress-interval
;; Default interval between subsequent outputs for rate-limited displays.