diff options
| author | 2026-05-16 08:29:46 +0000 | |
|---|---|---|
| committer | 2026-05-16 08:30:11 +0000 | |
| commit | 62d363f044dbcd5dbdf447a0f3ce4c12b8ab30e4 (patch) | |
| tree | 17bd09f235f9c95a9690e8ed7af405121347fd61 /object/header/append.go | |
| parent | object/typ: Simplify (diff) | |
| signature | No signature | |
object/header: Refactor
Diffstat (limited to 'object/header/append.go')
| -rw-r--r-- | object/header/append.go | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/object/header/append.go b/object/header/append.go index d1e98672..d79016a0 100644 --- a/object/header/append.go +++ b/object/header/append.go @@ -1,25 +1,20 @@ package header import ( + "slices" "strconv" "codeberg.org/lindenii/furgit/object/typ" ) // AppendHeader appends a canonical loose-object header ("type size\x00") to dst. -func AppendHeader(dst []byte, ty typ.Type, size uint64) ([]byte, bool) { - tyName, ok := ty.Name() - if !ok { - return nil, false - } +func AppendHeader(dst []byte, ty typ.Type, size uint64) ([]byte) { + tyName := ty.Name() - sizeStr := strconv.FormatInt(size, 10) - out := make([]byte, 0, len(dst)+len(tyName)+len(sizeStr)+2) - out = append(out, dst...) - out = append(out, tyName...) - out = append(out, ' ') - out = append(out, sizeStr...) - out = append(out, 0) - - return out, true + dst = slices.Grow(dst, len(tyName)+1+19+1) + dst = append(dst, tyName...) + dst = append(dst, ' ') + dst = strconv.AppendUint(dst, size, 10) + dst = append(dst, 0) + return dst } |
