Apply FileMode fixes to Inode.Mode()

This commit is contained in:
Caleb Gardner
2025-03-12 00:09:02 -05:00
parent 619bb023b1
commit f11416493e
+7 -13
View File
@@ -81,23 +81,17 @@ func Read(r io.Reader, blockSize uint32) (i Inode, err error) {
func (i Inode) Mode() (out fs.FileMode) { func (i Inode) Mode() (out fs.FileMode) {
out = fs.FileMode(i.Perm) out = fs.FileMode(i.Perm)
switch i.Data.(type) { switch i.Type {
case Directory: case Dir, EDir:
out |= fs.ModeDir out |= fs.ModeDir
case EDirectory: case Sym, ESym:
out |= fs.ModeDir
case Symlink:
out |= fs.ModeSymlink out |= fs.ModeSymlink
case ESymlink: case Char, EChar, Block, EBlock:
out |= fs.ModeSymlink
case Device:
out |= fs.ModeDevice out |= fs.ModeDevice
case EDevice: case Fifo, EFifo:
out |= fs.ModeDevice
case IPC:
out |= fs.ModeNamedPipe
case EIPC:
out |= fs.ModeNamedPipe out |= fs.ModeNamedPipe
case Sock, ESock:
out |= fs.ModeSocket
} }
return return
} }