// readLine that returns an error if:
//   - there is a pending read error;
//   - or line does not end with \r\n.
readLine that returns an error if:
- there is a pending read error;
- or line does not end with \r\n.
// readLine that returns an error if : // - there is a pending read error ; // - or line does not end with \ r \ n .
func (r *Reader) readLine() ([]byte, error) {
	b, err := r.rd.ReadSlice('\n')
	if err != nil {
		if err != bufio.ErrBufferFull {
			return nil, err
		}
		full := make([]byte, len(b))
		copy(full, b)
		b, err = r.rd.ReadBytes('\n')
		if err != nil {
			return nil, err
		}
		full = append(full, b...) 
		b = full
	}
	if len(b) <= 2 || b[len(b)-1] != '\n' || b[len(b)-2] != '\r' {
		return nil, fmt.Errorf("redis: invalid reply: %q", b)
	}
	return b, nil
}
func ( r * Reader ) readLine ( ) ( [ ] byte , error ) { b , err := r . rd . ReadSlice ( '\n' ) if err != nil { if err != bufio . ErrBufferFull { return nil , err } full := make ( [ ] byte , len ( b ) ) copy ( full , b ) b , err = r . rd . ReadBytes ( '\n' ) if err != nil { return nil , err } full = append ( full , b ... ) b = full } if len ( b ) <= 2 || b [ len ( b ) - 1 ] != '\n' || b [ len ( b ) - 2 ] != '\r' { return nil , fmt . Errorf ( " " , b ) } return b , nil }
readLine that returns an error if:
 there is a pending read error;
 or line does not end with \r\n.
readLine that returns an error if : there is a pending read error ; or line does not end with \ r \ n .
//nolint:makezero