diff --git a/file_info.go b/file_info.go index 462e78e..c6e7b8d 100644 --- a/file_info.go +++ b/file_info.go @@ -53,6 +53,9 @@ func (f fileInfo) Mode() fs.FileMode { if f.IsDir() { return fs.FileMode(f.perm | uint32(fs.ModeDir)) } + if f.IsSymlink() { + return fs.FileMode(f.perm | uint32(fs.ModeSymlink)) + } return fs.FileMode(f.perm) } @@ -64,6 +67,10 @@ func (f fileInfo) IsDir() bool { return f.fileType == inode.Dir || f.fileType == inode.EDir } +func (f fileInfo) IsSymlink() bool { + return f.fileType == inode.Sym || f.fileType == inode.ESym +} + func (f fileInfo) Sys() any { return nil }