}
func (srr *SelfRecordReader) Read(p []byte) (n int, err error) {
- n, err = srr.rrr.Read(p)
+ n, err = srr.lr.Read(p)
if err != nil {
srr.Close()
}
if err != nil {
return nil, err
}
- return &SelfRecordReader{lr: &io.LimitedReader{R: rrr, N: rec.Size}, rrr: rrr}, nil
+ size := rec.Size
+ if !noHdr {
+ size += int64(rec.HdrLen)
+ }
+ return &SelfRecordReader{lr: &io.LimitedReader{R: rrr, N: size}, rrr: rrr}, nil
}
type RecordReader struct {