(w io.Writer, n int)
| 157 | } |
| 158 | |
| 159 | func (d *decoder) writeTo(w io.Writer, n int) { |
| 160 | limit := d.remain |
| 161 | if n < limit { |
| 162 | d.remain = n |
| 163 | } |
| 164 | c, err := io.Copy(w, d) |
| 165 | if int(c) < n && err == nil { |
| 166 | err = io.ErrUnexpectedEOF |
| 167 | } |
| 168 | d.remain = limit - int(c) |
| 169 | d.setError(err) |
| 170 | } |
| 171 | |
| 172 | func (d *decoder) setError(err error) { |
| 173 | if d.err == nil && err != nil { |