rem: posible_end = 0; switch (status) { case QUOTED:
add: switch (status) { case DISPLAY_QUOTED:
context: char* parse_to(char* buffer, char *end, struct to_body *to_b){	struct to_param *param=0;	int status = START_TO;	int saved_status;	char  *tmp,*posible_end;	posible_end = 0;	for( tmp=buffer; tmp<end; tmp++)	{		switch(*tmp)		{			case ' ':			case '\t':				switch (status)				{					case F_CRLF:					case F_LF:					case F_CR:						/*previous=crlf and now =' '*/						status=saved_status;						break;				}				break;			case '\n':				switch (status)				{					case BODY:						saved_status=status;						status=F_LF;						break;					case F_CR:						status=F_CRLF;						break;					case F_CRLF:					case F_LF:						status=saved_status;						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);				}				break;			case '\r':				switch (status)				{					case BODY:						saved_status=status;						status=F_CR;						break;					case F_CRLF:					case F_CR:					case F_LF:						status=saved_status;						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			case '\\':				posible_end = 0;				switch (status)				{					case QUOTED:						switch (*(tmp+1))						{							case '\n':							case '\r':								break;							default:								tmp++;						}					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			case '<':				posible_end = 0;				switch (status)				{					case QUOTED:						break;					case START_TO:						to_b->body.s = tmp;					case BODY:						status = ENCLOSED;						break;					case F_CRLF:					case F_LF:					case F_CR:						/*previous=crlf and now !=' '*/						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			case '>':				switch (status)				{					case QUOTED:						posible_end = tmp;						break;					case ENCLOSED:						posible_end = tmp;						status = BODY;						break;					case F_CRLF:					case F_LF:					case F_CR:						/*previous=crlf and now !=' '*/						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			case '"':				posible_end = 0;				switch (status)				{					case START_TO:						to_b->body.s = tmp;					case BODY:						status = QUOTED;						break;					case QUOTED:						status = BODY;						break;					case F_CRLF:					case F_LF:					case F_CR:						/*previous=crlf and now !=' '*/						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			case ';' :				switch (status)				{					case QUOTED:					case ENCLOSED:						posible_end = 0;						break;					case BODY:						tmp = parse_to_param(tmp,end,to_b,&saved_status);						goto endofheader;					case F_CRLF:					case F_LF:					case F_CR:						posible_end = 0;						/*previous=crlf and now !=' '*/						goto endofheader;					default:						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "						"in status %d .\n",*tmp,status);						goto error;				}				break;			default:				switch (status)				{					case START_TO:						to_b->body.s=tmp;						posible_end = tmp;						status = BODY;						break;					case QUOTED:					case ENCLOSED:					case BODY:						posible_end = tmp;						break;					case F_CRLF:					case F_LF:					case F_CR:						/*previous=crlf and now !=' '*/						goto endofheader;					default:						DBG("DEBUG: parse_to: spitting out [%c] in status %d\n",						*tmp,status );						goto error;				}		}/*char switch*/	}/*for*/endofheader:	status=saved_status;	DBG("end of header reached, state=%d\n", status);	/* check if error*/	switch(status){		case BODY:		case E_PARA_VALUE:			if (posible_end){				*(posible_end+1) = 0;				to_b->body.len=(posible_end+1)-to_b->body.s;			}else{				LOG(L_ERR, "ERROR: parse_to: invalid To - unexpected "					"end of header in %d status\n", status);				goto error;			}			break;		default:			LOG(L_ERR, "ERROR: parse_to: invalid To -  unexpected "					"end of header in state %d\n", status);			goto error;	}	return tmp;error:	LOG(L_ERR, "to parse error\n");	to_b->error=PARSE_ERROR;	return tmp;}