From a80b9d1c1a0de5602735814363c26e201387aca3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 9 Aug 2015 14:24:00 +0200 Subject: optimize --- ber/int.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'ber/int.go') diff --git a/ber/int.go b/ber/int.go index bcdc96f..41defc8 100644 --- a/ber/int.go +++ b/ber/int.go @@ -15,11 +15,11 @@ func UnmarshalInt(b []byte) (i int) { } func intLen(i int) (n int) { - for i > 255 { + for i > 127 { n++ i >>= 8 } - for i < -256 { + for i < -128 { n++ i >>= 8 } @@ -30,11 +30,5 @@ func MarshalInt(i int) (b []byte) { for n := intLen(i); n > 0; n-- { b = append(b, byte(i>>uint((n-1)*8))) } - if i > 0 && b[0]&0x80 != 0 { - b = append([]byte{0x00}, b...) - } - if i < 0 && b[0]&0x80 == 0 { - b = append([]byte{0xFF}, b...) - } return } -- cgit v1.2.3