diff options
Diffstat (limited to 'src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go')
-rw-r--r-- | src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go b/src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go index 93a8632..232313c 100644 --- a/src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go +++ b/src/kube2msb/vendor/gopkg.in/yaml.v2/resolve.go @@ -3,6 +3,7 @@ package yaml import ( "encoding/base64" "math" + "regexp" "strconv" "strings" "unicode/utf8" @@ -80,6 +81,8 @@ func resolvableTag(tag string) bool { return false } +var yamlStyleFloat = regexp.MustCompile(`^[-+]?[0-9]*\.?[0-9]+([eE][-+][0-9]+)?$`) + func resolve(tag string, in string) (rtag string, out interface{}) { if !resolvableTag(tag) { return tag, in @@ -135,9 +138,11 @@ func resolve(tag string, in string) (rtag string, out interface{}) { if err == nil { return yaml_INT_TAG, uintv } - floatv, err := strconv.ParseFloat(plain, 64) - if err == nil { - return yaml_FLOAT_TAG, floatv + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } } if strings.HasPrefix(plain, "0b") { intv, err := strconv.ParseInt(plain[2:], 2, 64) |