Merge pull request #4129 from greatroar/cleanup

cache: Replace readCloser+LimitedReader by backend.LimitedReadCloser
This commit is contained in:
Michael Eischer 2023-01-14 12:17:25 +01:00 committed by GitHub
commit fb43cbab49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,6 +7,7 @@ import (
"runtime"
"github.com/pkg/errors"
"github.com/restic/restic/internal/backend"
"github.com/restic/restic/internal/crypto"
"github.com/restic/restic/internal/debug"
"github.com/restic/restic/internal/fs"
@ -30,11 +31,6 @@ func (c *Cache) canBeCached(t restic.FileType) bool {
return ok
}
type readCloser struct {
io.Reader
io.Closer
}
// Load returns a reader that yields the contents of the file with the
// given handle. rd must be closed after use. If an error is returned, the
// ReadCloser is nil.
@ -75,12 +71,10 @@ func (c *Cache) load(h restic.Handle, length int, offset int64) (io.ReadCloser,
}
}
rd := readCloser{Reader: f, Closer: f}
if length > 0 {
rd.Reader = io.LimitReader(f, int64(length))
if length <= 0 {
return f, nil
}
return rd, nil
return backend.LimitReadCloser(f, int64(length)), nil
}
// Save saves a file in the cache.