diff --git a/io.go b/io.go index 4f3b309..44beaf3 100644 --- a/io.go +++ b/io.go @@ -11,7 +11,7 @@ var ( type CborReader struct { r BytePeeker - hbuf []byte + hbuf [maxHeaderSize]byte } func NewCborReader(r io.Reader) *CborReader { @@ -20,8 +20,7 @@ func NewCborReader(r io.Reader) *CborReader { } return &CborReader{ - r: GetPeeker(r), - hbuf: make([]byte, maxHeaderSize), + r: GetPeeker(r), } } @@ -38,7 +37,7 @@ func (cr *CborReader) UnreadByte() error { } func (cr *CborReader) ReadHeader() (byte, uint64, error) { - return CborReadHeaderBuf(cr.r, cr.hbuf) + return CborReadHeaderBuf(cr.r, cr.hbuf[:]) } func (cr *CborReader) SetReader(r io.Reader) { @@ -52,7 +51,7 @@ var ( type CborWriter struct { w io.Writer - hbuf []byte + hbuf [maxHeaderSize]byte sw io.StringWriter } @@ -63,8 +62,7 @@ func NewCborWriter(w io.Writer) *CborWriter { } cw := &CborWriter{ - w: w, - hbuf: make([]byte, maxHeaderSize), + w: w, } if sw, ok := w.(io.StringWriter); ok { @@ -88,11 +86,11 @@ func (cw *CborWriter) Write(p []byte) (n int, err error) { } func (cw *CborWriter) WriteMajorTypeHeader(t byte, l uint64) error { - return WriteMajorTypeHeaderBuf(cw.hbuf, cw.w, t, l) + return WriteMajorTypeHeaderBuf(cw.hbuf[:], cw.w, t, l) } func (cw *CborWriter) CborWriteHeader(t byte, l uint64) error { - return WriteMajorTypeHeaderBuf(cw.hbuf, cw.w, t, l) + return WriteMajorTypeHeaderBuf(cw.hbuf[:], cw.w, t, l) } func (cw *CborWriter) WriteString(s string) (int, error) {