From a2a7b09762a02d2acb5987f98af189f93924b1f6 Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Thu, 16 Feb 2017 18:32:42 -0700 Subject: [PATCH] progress/copycallback: increment with bytes read regardless of error --- progress/copycallback.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/progress/copycallback.go b/progress/copycallback.go index f291abe8..6974dd93 100644 --- a/progress/copycallback.go +++ b/progress/copycallback.go @@ -31,12 +31,11 @@ func (r *bodyWithCallback) Read(p []byte) (int, error) { if n > 0 { r.readSize += int64(n) - } - if err == nil && r.c != nil { - err = r.c(r.totalSize, r.readSize, n) + if (err == nil || err == io.EOF) && r.c != nil { + err = r.c(r.totalSize, r.readSize, n) + } } - return n, err } @@ -52,12 +51,11 @@ func (w *CallbackReader) Read(p []byte) (int, error) { if n > 0 { w.ReadSize += int64(n) - } - if err == nil && w.C != nil { - err = w.C(w.TotalSize, w.ReadSize, n) + if (err == nil || err == io.EOF) && w.C != nil { + err = w.C(w.TotalSize, w.ReadSize, n) + } } - return n, err }