opportunistic absolute file path

This commit is contained in:
Roy Olav Purser 2021-03-25 11:08:26 +01:00
parent 38306fd9a3
commit 108cd021d1
No known key found for this signature in database
GPG Key ID: 0BA77797F072BC52

View File

@ -2,7 +2,8 @@ package envconf
import ("strconv"
"fmt"
"errors"
"path/filepath"
"os"
"path"
"time")
func parseInt(key string, str string)(ret cValue) {
@ -35,12 +36,16 @@ func parseBool(key string, str string)(ret cValue) {
return
}
func parseDirectory(key string, str string)(ret cValue) {
val, err := filepath.Abs(str)
func parseDirectory(_ string, str string)(ret cValue) {
wd, err := os.Getwd()
if err == nil {
ret.strval = val
if path.IsAbs(str) {
ret.strval = path.Clean(str)
} else {
ret.err = errors.New(fmt.Sprintf(`Environment variable "%s" is not of type directory.`, key))
ret.strval = path.Join(wd, str)
}
} else {
ret.strval = path.Clean(str)
}
return
}