16 lines
334 B
Go
16 lines
334 B
Go
package io
|
|
|
|
import "io"
|
|
|
|
func CopyBufferN(dst io.Writer, src io.Reader, n int64, buffer []byte) (written int64, err error) {
|
|
written, err = io.CopyBuffer(dst, io.LimitReader(src, n), buffer)
|
|
if written == n {
|
|
return n, nil
|
|
}
|
|
if written < n && err == nil {
|
|
// src stopped early; must have been EOF.
|
|
err = io.EOF
|
|
}
|
|
return
|
|
}
|