|
|
|
@ -25,31 +25,25 @@ func Full() string {
|
|
|
|
|
return version |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Proto(v string) int64 { |
|
|
|
|
func getSubVersion(v string, position int) int64 { |
|
|
|
|
arr := strings.Split(v, ".") |
|
|
|
|
if len(arr) < 3 { |
|
|
|
|
return 0 |
|
|
|
|
} |
|
|
|
|
res, _ := strconv.ParseInt(arr[0], 10, 64) |
|
|
|
|
res, _ := strconv.ParseInt(arr[position], 10, 64) |
|
|
|
|
return res |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Proto(v string) int64 { |
|
|
|
|
return getSubVersion(v, 0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Major(v string) int64 { |
|
|
|
|
arr := strings.Split(v, ".") |
|
|
|
|
if len(arr) < 3 { |
|
|
|
|
return 0 |
|
|
|
|
} |
|
|
|
|
res, _ := strconv.ParseInt(arr[1], 10, 64) |
|
|
|
|
return res |
|
|
|
|
return getSubVersion(v, 1) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Minor(v string) int64 { |
|
|
|
|
arr := strings.Split(v, ".") |
|
|
|
|
if len(arr) < 3 { |
|
|
|
|
return 0 |
|
|
|
|
} |
|
|
|
|
res, _ := strconv.ParseInt(arr[2], 10, 64) |
|
|
|
|
return res |
|
|
|
|
return getSubVersion(v, 2) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// add every case there if server will not accept client's protocol and return false
|
|
|
|
|