aboutsummaryrefslogtreecommitdiff
path: root/objectstore/loose/read_reader.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-04 08:26:56 +0800
committerGravatar Runxi Yu2026-03-04 08:59:53 +0800
commitab7501be34032fb9e5c48726a68ae90a917af9eb (patch)
tree20d005647569befea8133e953c3270e8fd2a2a5b /objectstore/loose/read_reader.go
parent*: gofumpt (diff)
signatureNo signature
*: Lint
Diffstat (limited to 'objectstore/loose/read_reader.go')
-rw-r--r--objectstore/loose/read_reader.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/objectstore/loose/read_reader.go b/objectstore/loose/read_reader.go
index 6a377ba3..a0a51cc1 100644
--- a/objectstore/loose/read_reader.go
+++ b/objectstore/loose/read_reader.go
@@ -29,6 +29,7 @@ func (reader *objectReader) Read(dst []byte) (int, error) {
func (reader *objectReader) Close() error {
errZlib := reader.zr.Close()
errFile := reader.file.Close()
+
return errors.Join(errZlib, errFile)
}
@@ -39,11 +40,14 @@ func (store *Store) openInflated(id objectid.ObjectID) (*os.File, io.ReadCloser,
if err != nil {
return nil, nil, err
}
+
zr, err := zlib.NewReader(file)
if err != nil {
_ = file.Close()
+
return nil, nil, err
}
+
return file, zr, nil
}
@@ -56,10 +60,12 @@ func (store *Store) ReadReaderFull(id objectid.ObjectID) (io.ReadCloser, error)
}
br := bufio.NewReader(zr)
+
header, _, size, err := readHeader(br)
if err != nil {
_ = zr.Close()
_ = file.Close()
+
return nil, err
}
@@ -82,10 +88,12 @@ func (store *Store) ReadReaderContent(id objectid.ObjectID) (objecttype.Type, in
}
br := bufio.NewReader(zr)
+
_, ty, size, err := readHeader(br)
if err != nil {
_ = zr.Close()
_ = file.Close()
+
return objecttype.TypeInvalid, 0, nil, err
}