aboutsummaryrefslogtreecommitdiff
path: root/ber/len.go
diff options
context:
space:
mode:
Diffstat (limited to 'ber/len.go')
-rw-r--r--ber/len.go11
1 files changed, 6 insertions, 5 deletions
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
}