aboutsummaryrefslogtreecommitdiff
path: root/objectstore/packed/pack.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-02-21 13:38:02 +0800
committerGravatar Runxi Yu2026-02-21 14:28:15 +0800
commit94482cb2c97aa215f83940643c5d4c0933727dcb (patch)
treebee22fa113542abd1b863ee251fdcf0f9bd409b5 /objectstore/packed/pack.go
parentdiff: Add package-level doc comment (diff)
signatureNo signature
*: Modernize and lint; add CI v0.1.17
Diffstat (limited to 'objectstore/packed/pack.go')
-rw-r--r--objectstore/packed/pack.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/objectstore/packed/pack.go b/objectstore/packed/pack.go
index 46eca524..00950159 100644
--- a/objectstore/packed/pack.go
+++ b/objectstore/packed/pack.go
@@ -5,6 +5,8 @@ import (
"fmt"
"os"
"syscall"
+
+ "codeberg.org/lindenii/furgit/internal/intconv"
)
const packSignature = 0x5041434b
@@ -27,7 +29,11 @@ func openPackFile(name string, file *os.File, size int64) (*packFile, error) {
if size > int64(int(^uint(0)>>1)) {
return nil, fmt.Errorf("objectstore/packed: pack %q has unsupported size", name)
}
- data, err := syscall.Mmap(int(file.Fd()), 0, int(size), syscall.PROT_READ, syscall.MAP_PRIVATE)
+ fd, err := intconv.UintptrToInt(file.Fd())
+ if err != nil {
+ return nil, err
+ }
+ data, err := syscall.Mmap(fd, 0, int(size), syscall.PROT_READ, syscall.MAP_PRIVATE)
if err != nil {
return nil, err
}