rem: unsigned char *p;
add: char *p;
context: inline unsigned char *run_redirect( struct cpl_interpreter *intr ){	struct location *loc;	struct lump_rpl *lump;	unsigned short attr_name;	unsigned short permanent;	unsigned short n;	unsigned char *p;	str lump_str;	char *cp;	int i;	permanent = NO_VAL;	/* sanity check */	if (NR_OF_KIDS(intr->ip)!=0) {		LOG(L_ERR,"ERROR:cpl-c:run_redirect: REDIRECT node doesn't suppose "			"to have any sub-nodes. Found %d!\n",NR_OF_KIDS(intr->ip));		goto script_error;	}	/* read the attributes of the REDIRECT node*/	for( i=NR_OF_ATTR(intr->ip),p=ATTR_PTR(intr->ip) ; i>0 ; i-- ) {		get_basic_attr( p, attr_name, n, intr, script_error);		switch (attr_name) {			case PERMANENT_ATTR:				if (n!=YES_VAL && n!=NO_VAL) {					LOG(L_ERR,"ERROR:cpl-c:run_redirect: unsupported value (%d)"						" in attribute PERMANENT for REDIRECT node",n);					goto script_error;				}				permanent = n;				break;			default:				LOG(L_ERR,"ERROR:run_redirect: unknown attribute "					"(%d) in REDIRECT node\n",attr_name);				goto script_error;		}	}	/* build the lump for Contact header */	lump_str.len = 9 /*"Contact: "*/;	for(loc=intr->loc_set;loc;loc=loc->next)		lump_str.len += 1/*"<"*/ + loc->addr.uri.len + 7/*">;q=x.x"*/ +			2*(loc->next!=0)/*" ,"*/;	lump_str.len += CRLF_LEN;	lump_str.s = pkg_malloc( lump_str.len );	if(!lump_str.s) {		LOG(L_ERR,"ERROR:cpl-c:run_redirect: out of pkg memory!\n");		goto runtime_error;	}	cp = lump_str.s;	memcpy( cp , "Contact: " , 9);	cp += 9;	for(loc=intr->loc_set;loc;loc=loc->next) {		*(cp++) = '<';		memcpy(cp,loc->addr.uri.s,loc->addr.uri.len);		cp += loc->addr.uri.len;		memcpy(cp,">;q=",4);		cp += 4;		*(cp++) = (loc->addr.priority!=10)?'0':'1';		*(cp++) = '.';		*(cp++) = '0'+(loc->addr.priority%10);		if (loc->next) {			*(cp++) = ' ';			*(cp++) = ',';		}	}	memcpy(cp,CRLF,CRLF_LEN);	/* add the lump to the reply */	lump = build_lump_rpl( lump_str.s , lump_str.len );	if(!lump) {		LOG(L_ERR,"ERROR:cpl-c:run_redirect: unable to build lump_rpl! \n");		pkg_free( lump_str.s );		goto runtime_error;	}	add_lump_rpl( intr->msg , lump );	/* send the reply */	if (permanent)		i = cpl_tmb.t_reply( intr->msg, (int)301, "Moved permanently" );	else		i = cpl_tmb.t_reply( intr->msg, (int)302, "Moved temporarily" );	if (i!=1) {		LOG(L_ERR,"ERROR:cpl-c:run_redirect: unable to send redirect reply!\n");		goto runtime_error;	}	return EO_SCRIPT;runtime_error:	return CPL_RUNTIME_ERROR;script_error:	return CPL_SCRIPT_ERROR;}