2021-04-24 23:39:37 +08:00
|
|
|
// +build aix darwin dragonfly freebsd !android,linux netbsd openbsd solaris
|
2015-09-07 12:37:33 +08:00
|
|
|
|
|
|
|
package sftp
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"syscall"
|
|
|
|
)
|
|
|
|
|
2021-04-26 02:48:26 +08:00
|
|
|
func lsLinksUIDGID(fi os.FileInfo) (numLinks uint64, uid, gid string) {
|
|
|
|
numLinks = 1
|
|
|
|
uid, gid = "0", "0"
|
2021-04-24 20:28:08 +08:00
|
|
|
|
2021-04-26 02:48:26 +08:00
|
|
|
switch sys := fi.Sys().(type) {
|
2021-04-24 20:28:08 +08:00
|
|
|
case *syscall.Stat_t:
|
2021-04-26 03:05:07 +08:00
|
|
|
numLinks = uint64(sys.Nlink)
|
2021-04-26 02:48:26 +08:00
|
|
|
uid = lsUsername(lsFormatID(sys.Uid))
|
|
|
|
gid = lsGroupName(lsFormatID(sys.Gid))
|
|
|
|
default:
|
2015-09-07 12:37:33 +08:00
|
|
|
}
|
|
|
|
|
2021-04-26 02:48:26 +08:00
|
|
|
return numLinks, uid, gid
|
2015-09-07 12:37:33 +08:00
|
|
|
}
|