From df453ca6349166af3bc3c3a65e9d176e30605319 Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 18 Feb 2018 09:49:40 +0000 Subject: [PATCH] fix: bypass errors on symbolic links --- file.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/file.go b/file.go index be63c07b..7e34d1ff 100644 --- a/file.go +++ b/file.go @@ -134,13 +134,12 @@ func (i *File) GetListing(u *User, r *http.Request) error { } if strings.HasPrefix(f.Mode().String(), "L") { - // It's a symbolic link - // The FileInfo from Readdir treats symbolic link as a file only. + // It's a symbolic link. We try to follow it. If it doesn't work, + // we stay with the link information instead if the target's. info, err := os.Stat(f.Name()) - if err != nil { - return err + if err == nil { + f = info } - f = info } if f.IsDir() {