From 38306fd9a33516442cc21e91751247278351c73d Mon Sep 17 00:00:00 2001 From: Roy Olav Purser Date: Thu, 25 Mar 2021 09:55:14 +0100 Subject: [PATCH] abs filepath --- parsers.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/parsers.go b/parsers.go index 2bb6488..d80a460 100644 --- a/parsers.go +++ b/parsers.go @@ -2,7 +2,7 @@ package envconf import ("strconv" "fmt" "errors" - "strings" + "path/filepath" "time") func parseInt(key string, str string)(ret cValue) { @@ -35,12 +35,18 @@ func parseBool(key string, str string)(ret cValue) { return } +func parseDirectory(key string, str string)(ret cValue) { + val, err := filepath.Abs(str) + if err == nil { + ret.strval = val + } else { + ret.err = errors.New(fmt.Sprintf(`Environment variable "%s" is not of type directory.`, key)) + } + return +} + func parseString(_ string, str string)(ret cValue) { ret.strval = str return } -func parseDirectory(_ string, str string)(ret cValue) { - ret.strval = strings.TrimRight(str, "/") - return -}