Merge branch '8784-dir-listings'
[arvados.git] / sdk / go / keepclient / hashcheck.go
index 1706134757fae14a6cc0f0ccecc1a7b6a46a3002..4a5c09ba793cdfb9d37609d6b9f4392d7f1c18db 100644 (file)
@@ -1,3 +1,7 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
 package keepclient
 
 import (
@@ -63,8 +67,14 @@ func (this HashCheckingReader) WriteTo(dest io.Writer) (written int64, err error
 func (this HashCheckingReader) Close() (err error) {
        _, err = io.Copy(this.Hash, this.Reader)
 
-       if closer, ok := this.Reader.(io.ReadCloser); ok {
-               err = closer.Close()
+       if closer, ok := this.Reader.(io.Closer); ok {
+               err2 := closer.Close()
+               if err2 != nil && err == nil {
+                       return err2
+               }
+       }
+       if err != nil {
+               return err
        }
 
        sum := this.Hash.Sum(make([]byte, 0, this.Hash.Size()))