aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/os/stat_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2012-01-09 14:22:53 -0800
committerRuss Cox <rsc@golang.org>2012-01-09 14:22:53 -0800
commitcc02ef025831bb6fbf0a662bd11f6be796e4cf33 (patch)
tree47e2607918e29e402e8734cd57b5516c181bb3a7 /src/pkg/os/stat_linux.go
parentf9427364951a1e4b2ef6ad7d0ec9a6dfbb2dee54 (diff)
downloadgo-cc02ef025831bb6fbf0a662bd11f6be796e4cf33.tar.xz
os: add ModeCharDevice
This should make conversion from Unix mode to os.FileMode and back not lossy. R=golang-dev, iant CC=golang-dev https://golang.org/cl/5531052
Diffstat (limited to 'src/pkg/os/stat_linux.go')
-rw-r--r--src/pkg/os/stat_linux.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/os/stat_linux.go b/src/pkg/os/stat_linux.go
index 66189a6b9b..b0a569e24c 100644
--- a/src/pkg/os/stat_linux.go
+++ b/src/pkg/os/stat_linux.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: