diff options
Diffstat (limited to 'format/pack/ingest/idx_write.go')
| -rw-r--r-- | format/pack/ingest/idx_write.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/format/pack/ingest/idx_write.go b/format/pack/ingest/idx_write.go index 8db11ba0..904afb6c 100644 --- a/format/pack/ingest/idx_write.go +++ b/format/pack/ingest/idx_write.go @@ -7,6 +7,8 @@ import ( "hash" "io" "slices" + + "codeberg.org/lindenii/furgit/internal/intconv" ) const ( @@ -87,7 +89,12 @@ func writeIdx(state *ingestState) error { for _, recordIdx := range order { offset := state.records[recordIdx].offset if offset >= 0x80000000 { - word := 0x80000000 | uint32(len(largeOffsets)) + largeOffsetIdx, err := intconv.IntToUint32(len(largeOffsets)) + if err != nil { + return err + } + + word := 0x80000000 | largeOffsetIdx largeOffsets = append(largeOffsets, offset) binary.BigEndian.PutUint32(scratch[:4], word) |
