diff --git a/little/little.go b/little/little.go index fe85d58..05937d2 100644 --- a/little/little.go +++ b/little/little.go @@ -1370,3 +1370,20 @@ func EncodeZigZag(x int64) uint64 { func DecodeZigZag(u uint64) int64 { return int64(u>>1) ^ -(int64(u & 1)) } + +func WriteVarSized(w io.Writer, arr []byte) (err error) { + _, err = WriteVarSize(w, len(arr)) + if err != nil { + return + } + _, err = w.Write(arr) + return +} + +func ReadVarSized(src io.Reader) ([]byte, error) { + size, err := ReadVarSize(src) + if err != nil { + return nil, err + } + return ReadN(src, size) +}