opportunistic absolute file path
This commit is contained in:
parent
38306fd9a3
commit
108cd021d1
15
parsers.go
15
parsers.go
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user