From 83c1c4982a65ca0aefab17572f489fdacf432f41 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 10 Sep 2015 00:45:07 -0700 Subject: [PATCH] Simplify version parsing with newVersion() make it more robust --- verify-runtime.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/verify-runtime.go b/verify-runtime.go index c21d8fcf8..355daec29 100644 --- a/verify-runtime.go +++ b/verify-runtime.go @@ -49,20 +49,20 @@ type version struct { } func newVersion(v string) version { - var ver version + ver := version{} verSlice := strings.Split(v, ".") - if len(verSlice) > 2 { - ver = version{ - major: verSlice[0], - minor: verSlice[1], - patch: verSlice[2], - } - return ver + if len(verSlice) < 2 { + Fatalln("Version string missing major and minor versions, cannot proceed exiting.") } - ver = version{ - major: verSlice[0], - minor: verSlice[1], - patch: "0", + if len(verSlice) > 3 { + Fatalf("Unknown Version style format, newVersion only supports ‘major.minor.patch’ not ‘%s’.\n", v) + } + ver.major = verSlice[0] + ver.minor = verSlice[1] + if len(verSlice) == 3 { + ver.patch = verSlice[2] + } else { + ver.patch = "0" } return ver }