From 6fcd98264f503e273bc00856bc1f605b29564b9d Mon Sep 17 00:00:00 2001 From: helen Date: Mon, 14 Nov 2022 00:15:37 +0800 Subject: [PATCH] optimize ParseIP Signed-off-by: helen --- pkg/karmadactl/cmdinit/utils/ip.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkg/karmadactl/cmdinit/utils/ip.go b/pkg/karmadactl/cmdinit/utils/ip.go index 3b5e75149..0fd20707d 100644 --- a/pkg/karmadactl/cmdinit/utils/ip.go +++ b/pkg/karmadactl/cmdinit/utils/ip.go @@ -5,19 +5,14 @@ import ( "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) { ip := net.ParseIP(s) if ip == nil { return nil, 0, fmt.Errorf("%s is not a valid ip address", s) } - for i := 0; i < len(s); i++ { - switch s[i] { - case '.': - return ip, 4, nil - case ':': - return ip, 6, nil - } + if ip.To4() != nil { + return ip, 4, nil } - return nil, 0, fmt.Errorf("%s is not a valid ip address", s) + return ip, 6, nil }