diff --git a/util.go b/util.go index 9564974..3d210cb 100644 --- a/util.go +++ b/util.go @@ -29,20 +29,23 @@ func FileExists(path string) bool { func NormalizePath(input, workdir string) string { input = filepath.Clean(input) - input, err := filepath.Abs(input) - if err != nil { - log.Printf("Failed to get absolute path for %s%s%s: %s%+v%s", SourceColor, input, DefaultColor, ErrorColor, err, DefaultColor) - return input - } input = filepath.ToSlash(input) input = strings.ReplaceAll(input, "\"", "") if !filepath.IsAbs(input) { log.Printf("Input '%s' is not absolute, prepending work dir '%s'", input, workdir) - input = workdir + "/" + input + var err error + input = filepath.Join(workdir, input) + input, err = filepath.Abs(input) + if err != nil { + log.Printf("Failed to get absolute path for %s%s%s: %s%+v%s", SourceColor, input, DefaultColor, ErrorColor, err, DefaultColor) + return input + } } - return filepath.Clean(input) + input = filepath.Clean(input) + input = filepath.ToSlash(input) + return input } func AreSame(lhs string, rhs string) bool {