From 44c6e6f590b706f1ecfea6a7e7406bbd7cb70736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 2 Sep 2020 23:58:34 +0200 Subject: [PATCH] ssh: Fix progress bar crash when there are zero items to send. * guix/ssh.scm (notify-transfer-progress): Do nothing when TOTAL is zero. --- guix/ssh.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index 5f05733f12..e41bffca65 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -441,14 +441,15 @@ Use SIZES to determine the size of ITEM, which is about to be sent." (progress-bar % (- (max (current-terminal-columns) 5) 5))) (force-output port)) - (let ((% (* 100. (/ sent total)))) - (match (vhash-assoc item sizes) - (#f - (display-bar %) - (values port sizes total sent)) - ((_ . size) - (display-bar %) - (values port sizes total (+ sent size)))))) + (unless (zero? total) + (let ((% (* 100. (/ sent total)))) + (match (vhash-assoc item sizes) + (#f + (display-bar %) + (values port sizes total sent)) + ((_ . size) + (display-bar %) + (values port sizes total (+ sent size))))))) (define (notify-transfer-completion port . args) "Notify the user that the transfer has completed."