rem: ret=comp_str(msg->first_line.u.request.uri, e->r.param, e->op, e->subtype);
add: if(msg->new_uri){ ret=comp_str(msg->new_uri, e->r.param, e->op, e->subtype); }else{ ret=comp_str(msg->first_line.u.request.uri, e->r.param, e->op, e->subtype); }
context: static int eval_elem(struct expr* e, struct sip_msg* msg){	int ret;		if (e->type!=ELEM_T){		LOG(L_CRIT," BUG: eval_elem: invalid type\n");		goto error;	}	switch(e->l.operand){		case METHOD_O:				ret=comp_str(msg->first_line.u.request.method, e->r.param,								e->op, e->subtype);				break;		case URI_O:				ret=comp_str(msg->first_line.u.request.uri, e->r.param,								e->op, e->subtype);				break;		case SRCIP_O:				ret=comp_ip(msg->src_ip, e->r.param, e->op, e->subtype);				break;		case DSTIP_O:				ret=comp_ip(msg->dst_ip, e->r.param, e->op, e->subtype);				break;		case DEFAULT_O:				ret=1;				break;		default:				LOG(L_CRIT, "BUG: eval_elem: invalid operand %d\n",							e->l.operand);	}	return ret;error:	return -1;}