summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/spf13
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/spf13')
-rw-r--r--vendor/github.com/spf13/viper/util.go13
-rw-r--r--vendor/github.com/spf13/viper/viper.go24
2 files changed, 14 insertions, 23 deletions
diff --git a/vendor/github.com/spf13/viper/util.go b/vendor/github.com/spf13/viper/util.go
index b7889696..cee6b242 100644
--- a/vendor/github.com/spf13/viper/util.go
+++ b/vendor/github.com/spf13/viper/util.go
@@ -91,13 +91,22 @@ func insensitiviseMap(m map[string]interface{}) {
func absPathify(inPath string) string {
jww.INFO.Println("Trying to resolve absolute path to", inPath)
- if strings.HasPrefix(inPath, "$HOME") {
+ if inPath == "$HOME" || strings.HasPrefix(inPath, "$HOME"+string(os.PathSeparator)) {
inPath = userHomeDir() + inPath[5:]
}
if strings.HasPrefix(inPath, "$") {
end := strings.Index(inPath, string(os.PathSeparator))
- inPath = os.Getenv(inPath[1:end]) + inPath[end:]
+
+ var value, suffix string
+ if end == -1 {
+ value = os.Getenv(inPath[1:])
+ } else {
+ value = os.Getenv(inPath[1:end])
+ suffix = inPath[end:]
+ }
+
+ inPath = value + suffix
}
if filepath.IsAbs(inPath) {
diff --git a/vendor/github.com/spf13/viper/viper.go b/vendor/github.com/spf13/viper/viper.go
index f61f4ed7..405dc20f 100644
--- a/vendor/github.com/spf13/viper/viper.go
+++ b/vendor/github.com/spf13/viper/viper.go
@@ -896,13 +896,7 @@ func UnmarshalKey(key string, rawVal interface{}, opts ...DecoderConfigOption) e
return v.UnmarshalKey(key, rawVal, opts...)
}
func (v *Viper) UnmarshalKey(key string, rawVal interface{}, opts ...DecoderConfigOption) error {
- err := decode(v.Get(key), defaultDecoderConfig(rawVal, opts...))
-
- if err != nil {
- return err
- }
-
- return nil
+ return decode(v.Get(key), defaultDecoderConfig(rawVal, opts...))
}
// Unmarshal unmarshals the config into a Struct. Make sure that the tags
@@ -911,13 +905,7 @@ func Unmarshal(rawVal interface{}, opts ...DecoderConfigOption) error {
return v.Unmarshal(rawVal, opts...)
}
func (v *Viper) Unmarshal(rawVal interface{}, opts ...DecoderConfigOption) error {
- err := decode(v.AllSettings(), defaultDecoderConfig(rawVal, opts...))
-
- if err != nil {
- return err
- }
-
- return nil
+ return decode(v.AllSettings(), defaultDecoderConfig(rawVal, opts...))
}
// defaultDecoderConfig returns default mapsstructure.DecoderConfig with suppot
@@ -956,13 +944,7 @@ func (v *Viper) UnmarshalExact(rawVal interface{}, opts ...DecoderConfigOption)
config := defaultDecoderConfig(rawVal, opts...)
config.ErrorUnused = true
- err := decode(v.AllSettings(), config)
-
- if err != nil {
- return err
- }
-
- return nil
+ return decode(v.AllSettings(), config)
}
// BindPFlags binds a full flag set to the configuration, using each flag's long