From 4c4272628632cc881eb52f675e1219b4fbd491aa Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 8 Aug 2015 13:05:41 +0200 Subject: Parse len --- ber/len.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 ber/len.go (limited to 'ber/len.go') diff --git a/ber/len.go b/ber/len.go new file mode 100644 index 0000000..aea9965 --- /dev/null +++ b/ber/len.go @@ -0,0 +1,12 @@ +package ber + +func UnmarshalLen(b []byte) (i, n int) { + if b[0]&0x80 == 0 { + return int(b[0]), 1 + } + n = int(b[0]&0x7f) + for k := n; k > 0; k-- { + i += int(b[k]) << uint((k-1)*8) + } + return i, n +} -- cgit v1.2.3