Merge pull request #2793 from helen-frank/feature/OptimizationParseIP
optimize ParseIP
This commit is contained in:
commit
aeac17b77d
|
@ -5,19 +5,14 @@ import (
|
||||||
"net"
|
"net"
|
||||||
)
|
)
|
||||||
|
|
||||||
//ParseIP parse an ip address and return whether it is a v4 or v6 ip address
|
// ParseIP parses an IP address and returns whether it is a v4 or v6 IP address
|
||||||
func ParseIP(s string) (net.IP, int, error) {
|
func ParseIP(s string) (net.IP, int, error) {
|
||||||
ip := net.ParseIP(s)
|
ip := net.ParseIP(s)
|
||||||
if ip == nil {
|
if ip == nil {
|
||||||
return nil, 0, fmt.Errorf("%s is not a valid ip address", s)
|
return nil, 0, fmt.Errorf("%s is not a valid ip address", s)
|
||||||
}
|
}
|
||||||
for i := 0; i < len(s); i++ {
|
if ip.To4() != nil {
|
||||||
switch s[i] {
|
|
||||||
case '.':
|
|
||||||
return ip, 4, nil
|
return ip, 4, nil
|
||||||
case ':':
|
}
|
||||||
return ip, 6, nil
|
return ip, 6, nil
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil, 0, fmt.Errorf("%s is not a valid ip address", s)
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue