if (p->script_input.end > p->script_input.start + p->pmax) {
if (p->script_input.end > p->script_input.start + p->pipe_params.pmax) {
static int scanlflf(struct pipe_params *p){	char c;	while (p->script_input.start < p->script_input.end && p->state != 2) {		c = *p->script_input.start++;		switch (p->state) {		case 0:			if (c == '\n')				p->state = 1;			break;		case 1:			switch (c) {			case '\r':				break;			case '\n':				p->state = 2;				break;			default:				p->state = 0;				break;			}			break;		}	}	if (p->state == 2) {		if (convert_cgi_headers(p, &p->cn->r->status) == -1) {			p->error_condition = STUB_ERROR_RESTART;			return -1;		}		if (p->nocontent)			p->script_input.state = 3;		else if (p->haslen) {			if (p->script_input.start < p->script_input.end) {				if (p->script_input.end > p->script_input.start + p->pmax) {					log_d("extra garbage from script ignored");					p->script_input.end = p->script_input.start + p->pmax;					p->pmax = 0;				} else					p->pmax -= p->script_input.end - p->script_input.start;			}			if (p->pmax == 0)				p->script_input.state = 2;		}	} else if (p->script_input.start == p->script_input.ceiling) {		log_d("scanlflf: buffer full");		p->error_condition = STUB_ERROR_RESTART;		return -1;	}	return 0;}