8 // Implements io.ByteScanner over io.Reader, for use in Decoder, to ensure
9 // that as little as the undecoded input Reader is consumed as possible.
12 b [1]byte // Buffer for ReadByte
13 unread bool // True if b has been unread, and so should be returned next
16 func (me *scanner) Read(b []byte) (int, error) {
20 func (me *scanner) ReadByte() (byte, error) {
25 n, err := me.r.Read(me.b[:])
35 func (me *scanner) UnreadByte() error {
37 return errors.New("byte already unread")