diff options
Diffstat (limited to 'src/pkg/os/stat_linux.go')
| -rw-r--r-- | src/pkg/os/stat_linux.go | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/pkg/os/stat_linux.go b/src/pkg/os/stat_linux.go index 362fae48be..5d3b9ee99c 100644 --- a/src/pkg/os/stat_linux.go +++ b/src/pkg/os/stat_linux.go @@ -10,29 +10,29 @@ func isSymlink(stat *syscall.Stat_t) bool { return stat.Mode&syscall.S_IFMT == syscall.S_IFLNK } -func dirFromStat(name string, dir *Dir, lstat, stat *syscall.Stat_t) *Dir { - dir.Dev = stat.Dev - dir.Ino = uint64(stat.Ino) - dir.Nlink = uint64(stat.Nlink) - dir.Mode = stat.Mode - dir.Uid = stat.Uid - dir.Gid = stat.Gid - dir.Rdev = stat.Rdev - dir.Size = uint64(stat.Size) - dir.Blksize = uint64(stat.Blksize) - dir.Blocks = uint64(stat.Blocks) - dir.Atime_ns = uint64(syscall.TimespecToNsec(stat.Atim)) - dir.Mtime_ns = uint64(syscall.TimespecToNsec(stat.Mtim)) - dir.Ctime_ns = uint64(syscall.TimespecToNsec(stat.Ctim)) +func fileInfoFromStat(name string, fi *FileInfo, lstat, stat *syscall.Stat_t) *FileInfo { + fi.Dev = stat.Dev + fi.Ino = uint64(stat.Ino) + fi.Nlink = uint64(stat.Nlink) + fi.Mode = stat.Mode + fi.Uid = stat.Uid + fi.Gid = stat.Gid + fi.Rdev = stat.Rdev + fi.Size = uint64(stat.Size) + fi.Blksize = uint64(stat.Blksize) + fi.Blocks = uint64(stat.Blocks) + fi.Atime_ns = uint64(syscall.TimespecToNsec(stat.Atim)) + fi.Mtime_ns = uint64(syscall.TimespecToNsec(stat.Mtim)) + fi.Ctime_ns = uint64(syscall.TimespecToNsec(stat.Ctim)) for i := len(name) - 1; i >= 0; i-- { if name[i] == '/' { name = name[i+1:] break } } - dir.Name = name + fi.Name = name if isSymlink(lstat) && !isSymlink(stat) { - dir.FollowedSymlink = true + fi.FollowedSymlink = true } - return dir + return fi } |
