cache: Replace readCloser+LimitedReader by backend.LimitedReadCloser

This commit is contained in:
greatroar 2023-01-03 19:03:36 +01:00
parent c0b5ec55ab
commit 72922a79ed
1 changed files with 4 additions and 10 deletions

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.