diff options
| author | 2026-02-21 18:18:43 +0800 | |
|---|---|---|
| committer | 2026-02-21 18:18:43 +0800 | |
| commit | 1fedf54fa79d5bdf67971d89924653e3bac7179e (patch) | |
| tree | ff93400f559bf98cf03dac3623ce86cf981006a6 /objectstore/loose/parse.go | |
| parent | iolimit: Add ExpectLengthReader (diff) | |
| signature | No signature | |
objectstore/{loose,packed}: Use iolimit v0.1.23
Diffstat (limited to 'objectstore/loose/parse.go')
| -rw-r--r-- | objectstore/loose/parse.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/objectstore/loose/parse.go b/objectstore/loose/parse.go index fc678262..4021e333 100644 --- a/objectstore/loose/parse.go +++ b/objectstore/loose/parse.go @@ -34,16 +34,16 @@ func parseRaw(raw []byte) (objecttype.Type, []byte, error) { return ty, content, nil } -// readHeader reads and parses a loose object header from br. -// br must be positioned at the start of decoded loose object bytes. -func readHeader(br *bufio.Reader) (objecttype.Type, int64, error) { +// readHeader reads and parses a loose object header from br, and returns +// the raw header bytes including the trailing NUL. +func readHeader(br *bufio.Reader) ([]byte, objecttype.Type, int64, error) { header, err := br.ReadSlice(0) if err != nil { - return objecttype.TypeInvalid, 0, err + return nil, objecttype.TypeInvalid, 0, err } ty, size, _, ok := objectheader.Parse(header) if !ok { - return objecttype.TypeInvalid, 0, errors.New("objectstore/loose: malformed object header") + return nil, objecttype.TypeInvalid, 0, errors.New("objectstore/loose: malformed object header") } - return ty, size, nil + return header, ty, size, nil } |
