From ef755075ecc78f5afd60a11d58ad7e2794fadb1f Mon Sep 17 00:00:00 2001 From: linyufeng Date: Wed, 6 Jul 2022 20:07:44 +0800 Subject: [PATCH] =?UTF-8?q?util.go=20=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maker/golang/xdb/util.go | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/maker/golang/xdb/util.go b/maker/golang/xdb/util.go index 96debc8..45b7427 100644 --- a/maker/golang/xdb/util.go +++ b/maker/golang/xdb/util.go @@ -5,7 +5,6 @@ package xdb import ( - "encoding/binary" "fmt" "strconv" "strings" @@ -19,7 +18,7 @@ func CheckIP(ip string) (uint32, error) { return 0, fmt.Errorf("invalid ip address `%s`", ip) } - var buff = make([]byte, 4) + var val uint32 for i, s := range ps { d, err := strconv.Atoi(s) if err != nil { @@ -30,21 +29,16 @@ func CheckIP(ip string) (uint32, error) { return 0, fmt.Errorf("the %dth part `%s` should be an integer bettween 0 and 255", i, s) } - buff[i] = byte(d) + val |= uint32(d) << ((3 - i) * 8) } // convert the ip to integer - return binary.BigEndian.Uint32(buff), nil + return val, nil } func Long2IP(ip uint32) string { - var buff = make([]string, 4) - buff[0] = fmt.Sprintf("%d", (ip>>24)&0xFF) - buff[1] = fmt.Sprintf("%d", (ip>>16)&0xFF) - buff[2] = fmt.Sprintf("%d", (ip>>8)&0xFF) - buff[3] = fmt.Sprintf("%d", (ip>>0)&0xFF) - return strings.Join(buff, ".") + return fmt.Sprintf("%d.%d.%d.%d", (ip>>24)&0xFF, (ip>>16)&0xFF, (ip>>8)&0xFF, (ip>>0)&0xFF) } func MidIP(sip uint32, eip uint32) uint32 {