copyBuffer is rewritten from io.copyBuffer. We do not check if src has a WriteTo method, if dst has a ReadFrom method, or if buf is empty.
(dst io.Writer, src io.Reader, buf []byte)
| 2607 | // copyBuffer is rewritten from io.copyBuffer. We do not check if src has a |
| 2608 | // WriteTo method, if dst has a ReadFrom method, or if buf is empty. |
| 2609 | func copyBuffer(dst io.Writer, src io.Reader, buf []byte) (written int64, err error) { |
| 2610 | for { |
| 2611 | nr, er := src.Read(buf) |
| 2612 | if nr > 0 { |
| 2613 | nw, ew := dst.Write(buf[0:nr]) |
| 2614 | if nw < 0 || nr < nw { |
| 2615 | nw = 0 |
| 2616 | if ew == nil { |
| 2617 | ew = errors.New("invalid write result") |
| 2618 | } |
| 2619 | } |
| 2620 | written += int64(nw) |
| 2621 | if ew != nil { |
| 2622 | err = ew |
| 2623 | break |
| 2624 | } |
| 2625 | if nr != nw { |
| 2626 | err = io.ErrShortWrite |
| 2627 | break |
| 2628 | } |
| 2629 | } |
| 2630 | if er != nil { |
| 2631 | if er != io.EOF { |
| 2632 | err = er |
| 2633 | } |
| 2634 | break |
| 2635 | } |
| 2636 | } |
| 2637 | return written, err |
| 2638 | } |
| 2639 | |
| 2640 | var copyBufPool = sync.Pool{ |
| 2641 | New: func() any { |
no test coverage detected
searching dependent graphs…