hardlink_unix.go 310 B

123456789101112131415161718
  1. // +build !windows
  2. package fs
  3. import (
  4. "os"
  5. "syscall"
  6. )
  7. func getLinkInfo(fi os.FileInfo) (uint64, bool) {
  8. s, ok := fi.Sys().(*syscall.Stat_t)
  9. if !ok {
  10. return 0, false
  11. }
  12. // Ino is uint32 on bsd, uint64 on darwin/linux/solaris
  13. return uint64(s.Ino), !fi.IsDir() && s.Nlink > 1 // nolint: unconvert
  14. }