aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/os/stat_nacl.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/os/stat_nacl.go')
-rw-r--r--libgo/go/os/stat_nacl.go28
1 files changed, 9 insertions, 19 deletions
diff --git a/libgo/go/os/stat_nacl.go b/libgo/go/os/stat_nacl.go
index a503b59fa3f..d3bed14e430 100644
--- a/libgo/go/os/stat_nacl.go
+++ b/libgo/go/os/stat_nacl.go
@@ -9,21 +9,12 @@ import (
"time"
)
-func sameFile(fs1, fs2 *fileStat) bool {
- stat1 := fs1.sys.(*syscall.Stat_t)
- stat2 := fs2.sys.(*syscall.Stat_t)
- return stat1.Dev == stat2.Dev && stat1.Ino == stat2.Ino
-}
-
-func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo {
- fs := &fileStat{
- name: basename(name),
- size: int64(st.Size),
- modTime: timespecToTime(st.Mtime, st.MtimeNsec),
- sys: st,
- }
- fs.mode = FileMode(st.Mode & 0777)
- switch st.Mode & syscall.S_IFMT {
+func fillFileStatFromSys(fs *fileStat, name string) {
+ fs.name = basename(name)
+ fs.size = int64(fs.sys.Size)
+ fs.modTime = timespecToTime(fs.sys.Mtime, fs.sys.MtimeNsec)
+ fs.mode = FileMode(fs.sys.Mode & 0777)
+ switch fs.sys.Mode & syscall.S_IFMT {
case syscall.S_IFBLK:
fs.mode |= ModeDevice
case syscall.S_IFCHR:
@@ -39,16 +30,15 @@ func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo {
case syscall.S_IFSOCK:
fs.mode |= ModeSocket
}
- if st.Mode&syscall.S_ISGID != 0 {
+ if fs.sys.Mode&syscall.S_ISGID != 0 {
fs.mode |= ModeSetgid
}
- if st.Mode&syscall.S_ISUID != 0 {
+ if fs.sys.Mode&syscall.S_ISUID != 0 {
fs.mode |= ModeSetuid
}
- if st.Mode&syscall.S_ISVTX != 0 {
+ if fs.sys.Mode&syscall.S_ISVTX != 0 {
fs.mode |= ModeSticky
}
- return fs
}
func timespecToTime(sec, nsec int64) time.Time {