summaryrefslogtreecommitdiff
path: root/libgo/go/os/stat_solaris.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/os/stat_solaris.go')
-rw-r--r--libgo/go/os/stat_solaris.go7
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
}