From a4b7753f74a61bd3e01a4eb7591854e4bf0cbb8e Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Sat, 13 Sep 2014 04:47:37 -0700 Subject: [PATCH] use constants, fix ipv6 bug --- codec.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/codec.go b/codec.go index 527f0cb..c797426 100644 --- a/codec.go +++ b/codec.go @@ -66,12 +66,14 @@ func bytesToString(b []byte) (ret string, err error) { func addressStringToBytes(p *Protocol, s string) []byte { switch p.Code { - // ipv4,6 - case 4, 41: + case P_IP4: // ipv4 return net.ParseIP(s).To4() + case P_IP6: // ipv6 + return net.ParseIP(s).To16() + // tcp udp dccp sctp - case 6, 17, 33, 132: + case P_TCP, P_UDP, P_DCCP, P_SCTP: b := make([]byte, 2) i, err := strconv.Atoi(s) if err == nil { @@ -87,11 +89,11 @@ func addressBytesToString(p *Protocol, b []byte) string { switch p.Code { // ipv4,6 - case 4, 41: + case P_IP4, P_IP6: return net.IP(b).String() // tcp udp dccp sctp - case 6, 17, 33, 132: + case P_TCP, P_UDP, P_DCCP, P_SCTP: i := binary.BigEndian.Uint16(b) return strconv.Itoa(int(i)) }