| //go:build !windows |
| // +build !windows |
| |
| package fs |
| |
| import ( |
| "os" |
| "runtime" |
| "syscall" |
| ) |
| |
| const defaultRootDirMode = os.ModeDir | 0700 |
| |
| var defaultSymlinkMode = os.ModeSymlink | 0777 |
| |
| func init() { |
| switch runtime.GOOS { |
| case "darwin": |
| defaultSymlinkMode = os.ModeSymlink | 0755 |
| } |
| } |
| |
| func newResourceFromInfo(info os.FileInfo) resource { |
| statT := info.Sys().(*syscall.Stat_t) |
| return resource{ |
| mode: info.Mode(), |
| uid: statT.Uid, |
| gid: statT.Gid, |
| } |
| } |
| |
| func (p *filePath) SetMode(mode os.FileMode) { |
| p.file.mode = mode |
| } |
| |
| func (p *directoryPath) SetMode(mode os.FileMode) { |
| p.directory.mode = mode | os.ModeDir |
| } |