diff --git a/.travis.yml b/.travis.yml index 6ce5865..8f187a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ os: language: go go: - - 1.8 + - 1.10.x install: true diff --git a/protocols.go b/protocols.go index 9f78f98..12cfb53 100644 --- a/protocols.go +++ b/protocols.go @@ -4,6 +4,7 @@ import ( "encoding/binary" "fmt" "strings" + "math/bits" ) // Protocol is a Multiaddr protocol description structure. @@ -117,7 +118,7 @@ func ProtocolsWithString(s string) ([]Protocol, error) { // CodeToVarint converts an integer to a varint-encoded []byte func CodeToVarint(num int) []byte { - buf := make([]byte, (num/7)+1) // varint package is uint64 + buf := make([]byte, bits.Len(uint(num))/7 + 1) n := binary.PutUvarint(buf, uint64(num)) return buf[:n] } diff --git a/transcoders.go b/transcoders.go index f6739ed..7f7f645 100644 --- a/transcoders.go +++ b/transcoders.go @@ -49,7 +49,7 @@ func ip4StB(s string) ([]byte, error) { func ip6StB(s string) ([]byte, error) { i := net.ParseIP(s).To16() if i == nil { - return nil, fmt.Errorf("failed to parse ip4 addr: %s", s) + return nil, fmt.Errorf("failed to parse ip6 addr: %s", s) } return i, nil }