github.com/pkg/sftp@v1.13.6/ls_unix.go (about)

     1  //go:build aix || darwin || dragonfly || freebsd || (!android && linux) || netbsd || openbsd || solaris || js
     2  // +build aix darwin dragonfly freebsd !android,linux netbsd openbsd solaris js
     3  
     4  package sftp
     5  
     6  import (
     7  	"os"
     8  	"syscall"
     9  )
    10  
    11  func lsLinksUIDGID(fi os.FileInfo) (numLinks uint64, uid, gid string) {
    12  	numLinks = 1
    13  	uid, gid = "0", "0"
    14  
    15  	switch sys := fi.Sys().(type) {
    16  	case *syscall.Stat_t:
    17  		numLinks = uint64(sys.Nlink)
    18  		uid = lsFormatID(sys.Uid)
    19  		gid = lsFormatID(sys.Gid)
    20  	default:
    21  	}
    22  
    23  	return numLinks, uid, gid
    24  }