X-Git-Url: http://www.git.cypherpunks.ru/?p=goredo.git;a=blobdiff_plain;f=dep.go;h=38d8bb79c200ede2acedeb9ce357fe313211d7c2;hp=a362a3840b5ded3a4b141bd85a8451bc0a624f7e;hb=14398260feaf14dac68b9bdb1c810ccba7d1e768;hpb=68c7d1136890bf7b70e78e3612d79965c261b68f diff --git a/dep.go b/dep.go index a362a38..38d8bb7 100644 --- a/dep.go +++ b/dep.go @@ -28,10 +28,10 @@ import ( "os" "path" "strings" - "syscall" "go.cypherpunks.ru/recfile" "golang.org/x/crypto/blake2b" + "golang.org/x/sys/unix" ) func recfileWrite(fdDep *os.File, fields ...recfile.Field) error { @@ -74,12 +74,11 @@ func stamp(fdDep, src *os.File) error { } func fileCtime(fd *os.File) (string, error) { - fi, err := fd.Stat() - if err != nil { + var stat unix.Stat_t + if err := unix.Fstat(int(fd.Fd()), &stat); err != nil { return "", err } - stat := fi.Sys().(*syscall.Stat_t) - sec, nsec := stat.Ctimespec.Unix() + sec, nsec := stat.Ctim.Unix() return fmt.Sprintf("%d.%d", sec, nsec), nil }