diff options
Diffstat (limited to 'libgo/go/os/stat_solaris.go')
-rw-r--r-- | libgo/go/os/stat_solaris.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libgo/go/os/stat_solaris.go b/libgo/go/os/stat_solaris.go index e4622b9371..3e88bd829e 100644 --- a/libgo/go/os/stat_solaris.go +++ b/libgo/go/os/stat_solaris.go @@ -24,8 +24,10 @@ func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo { } fs.mode = FileMode(st.Mode & 0777) switch st.Mode & syscall.S_IFMT { - case syscall.S_IFBLK, syscall.S_IFCHR: + case syscall.S_IFBLK: fs.mode |= ModeDevice + case syscall.S_IFCHR: + fs.mode |= ModeDevice | ModeCharDevice case syscall.S_IFDIR: fs.mode |= ModeDir case syscall.S_IFIFO: @@ -43,6 +45,9 @@ func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo { if st.Mode&syscall.S_ISUID != 0 { fs.mode |= ModeSetuid } + if st.Mode&syscall.S_ISVTX != 0 { + fs.mode |= ModeSticky + } return fs } |