URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [os/] [stat_openbsd.go] - Rev 867
Go to most recent revision | Compare with Previous | Blame | View Log
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package osimport ("syscall""time")func sameFile(sys1, sys2 interface{}) bool {stat1 := sys1.(*syscall.Stat_t)stat2 := sys2.(*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.Mtim),sys: st,}fs.mode = FileMode(st.Mode & 0777)switch st.Mode & syscall.S_IFMT {case syscall.S_IFBLK:fs.mode |= ModeDevicecase syscall.S_IFCHR:fs.mode |= ModeDevice | ModeCharDevicecase syscall.S_IFDIR:fs.mode |= ModeDircase syscall.S_IFIFO:fs.mode |= ModeNamedPipecase syscall.S_IFLNK:fs.mode |= ModeSymlinkcase syscall.S_IFREG:// nothing to docase syscall.S_IFSOCK:fs.mode |= ModeSocket}if st.Mode&syscall.S_ISGID != 0 {fs.mode |= ModeSetgid}if st.Mode&syscall.S_ISUID != 0 {fs.mode |= ModeSetuid}if st.Mode&syscall.S_ISVTX != 0 {fs.mode |= ModeSticky}return fs}func timespecToTime(ts syscall.Timespec) time.Time {return time.Unix(int64(ts.Sec), int64(ts.Nsec))}// For testing.func atime(fi FileInfo) time.Time {return timespecToTime(fi.Sys().(*syscall.Stat_t).Atim)}
Go to most recent revision | Compare with Previous | Blame | View Log
