From 98abbfc94e38aef893dcad897ca16f2e629440a0 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Mon, 23 Mar 2020 20:55:23 +0100 Subject: [PATCH] Backend: Assume symlinks are directories #267 Signed-off-by: Michael Mayer --- pkg/fs/fs.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/fs/fs.go b/pkg/fs/fs.go index a52045101..f046fad6a 100644 --- a/pkg/fs/fs.go +++ b/pkg/fs/fs.go @@ -25,11 +25,17 @@ func FileExists(filename string) bool { return err == nil && !info.IsDir() } -// PathExists returns true if path exists and is a directory. +// PathExists returns true if path exists and is a directory or symlink. func PathExists(path string) bool { info, err := os.Stat(path) - return err == nil && info.IsDir() + if err != nil { + return false + } + + m := info.Mode() + + return m&os.ModeDir != 0 || m&os.ModeSymlink != 0 } // Overwrite overwrites the file with data. Creates file if not present.