You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
324 B
22 lines
324 B
package terminal
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
)
|
|
|
|
type BufferedReader struct {
|
|
In io.Reader
|
|
Buffer *bytes.Buffer
|
|
}
|
|
|
|
func (br *BufferedReader) Read(p []byte) (int, error) {
|
|
n, err := br.Buffer.Read(p)
|
|
if err != nil && err != io.EOF {
|
|
return n, err
|
|
} else if err == nil {
|
|
return n, nil
|
|
}
|
|
|
|
return br.In.Read(p[n:])
|
|
}
|
|
|