From 0559b7d4eab07cacf0f005e8e756c1d04470e0c7 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 25 Sep 2015 15:07:15 +0200 Subject: Broken, but a step in right direction --- ber/packet.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'ber/packet.go') diff --git a/ber/packet.go b/ber/packet.go index f244c4e..ea90240 100644 --- a/ber/packet.go +++ b/ber/packet.go @@ -1,12 +1,15 @@ package ber -func Split(b []byte) (c Class, k Kind, t Tag, l int, v []byte, r []byte) { - var n int - c, k, t, n = Ident(b) - b = b[n:] - l, n = UnmarshalLen(b) - b = b[n:] - v = b[:l] - r = b[l:] +import "io" + +func Split(r io.ByteReader) (c Class, k Kind, t Tag, l int, v []byte) { + c, k, t = Ident(r) + l = UnmarshalLen(r) + if l > 0 { + v = make([]byte, l) + for i := 0; i < l; i++ { + v[i], _ = r.ReadByte() + } + } return } -- cgit v1.2.3