| 1234567891011121314151617181920212223 |
- package missinggo
- import "io"
- type SectionWriter struct {
- w io.WriterAt
- off, len int64
- }
- func NewSectionWriter(w io.WriterAt, off, len int64) *SectionWriter {
- return &SectionWriter{w, off, len}
- }
- func (me *SectionWriter) WriteAt(b []byte, off int64) (n int, err error) {
- if off >= me.len {
- err = io.EOF
- return
- }
- if off+int64(len(b)) > me.len {
- b = b[:me.len-off]
- }
- return me.w.WriteAt(b, me.off+off)
- }
|