From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51001) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gMsBR-0004Dn-Uu for guix-patches@gnu.org; Wed, 14 Nov 2018 05:14:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gMsBP-0000Lf-85 for guix-patches@gnu.org; Wed, 14 Nov 2018 05:14:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:46718) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gMsBP-0000LT-4F for guix-patches@gnu.org; Wed, 14 Nov 2018 05:14:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gMsBO-0003Sp-VU for guix-patches@gnu.org; Wed, 14 Nov 2018 05:14:02 -0500 Subject: [bug#33376] [PATCH 2/2] progress: Do not display the last 0B transfer when size is unknown. Resent-Message-ID: From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Date: Wed, 14 Nov 2018 11:13:12 +0100 Message-Id: <20181114101312.23617-2-clement@lassieur.org> In-Reply-To: <20181114101312.23617-1-clement@lassieur.org> References: <20181114101312.23617-1-clement@lassieur.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33376@debbugs.gnu.org * 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 7a25f11bd..65080bcf2 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. -- 2.19.1