func()

in json/decode.go [50:85]


func (dec *Decoder) Next() error {
	var (
		n        int
		err      error
		reported bool
	)

	for !reported {
		if len(dec.buffer) == 0 {
			if dec.in == nil {
				if err := dec.p.finalize(); err != nil {
					return err
				}
				return io.EOF
			}

			n, err := dec.in.Read(dec.buffer)
			dec.buffer = dec.buffer[:n]
			if n == 0 && err != nil {
				return err
			}
		}

		n, reported, err = dec.p.feedUntil(dec.buffer)
		if err != nil {
			return err
		}

		dec.buffer = dec.buffer[n:]
		if reported {
			return nil
		}
	}

	return nil
}