From 511cf41a779929b5c81b7429c37dc11bd9544182 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 25 Sep 2015 20:41:38 +0200 Subject: Rewrite from scratch --- ber/len.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'ber/len.go') diff --git a/ber/len.go b/ber/len.go index 2bccf59..5df8288 100644 --- a/ber/len.go +++ b/ber/len.go @@ -36,14 +36,15 @@ func lenLen(i int) (n int) { return n + 1 } -func MarshalLen(i int) []byte { +func MarshalLen(w io.ByteWriter, i int) { if i < 0x80 { - return []byte{byte(i)} + w.WriteByte(byte(i)) + return } n := lenLen(i) - b := []byte{byte(n) | 0x80} + w.WriteByte(byte(n) | 0x80) for ; n > 0; n-- { - b = append(b, byte(i>>uint((n-1)*8))) + w.WriteByte(byte(i) >> uint(n-1) * 8) } - return b + return } -- cgit v1.2.3