rem: DBG("ras(): Next hop is a loose router\n");  _m->dst_uri.s = uri->s; _m->dst_uri.len = uri->len;
add: DBG("ras(): Next hop: '%.*s' is loose router\n", uri->len, uri->s); _m->dst_uri = *uri;
context: static inline int route_after_strict(struct sip_msg* _m){	int res;	str* uri;	rr_t* rt, *prev;	struct hdr_field* hdr;	hdr = _m->route;	rt = (rr_t*)hdr->parsed;	if (enable_double_rr && is_2rr(&_m->first_line.u.request.uri)) {		res = remove_2nd_route(_m, &hdr, &rt, &prev);		if (res < 0) return -2;  /* Error */		if (res > 0) return 0;   /* No next route found */	}	uri = &rt->nameaddr.uri;	DBG("ras(): First URI '%.*s'\n", uri->len, uri->s);	if (is_strict(uri)) {		DBG("ras(): Next hop is a strict router\n");		     /* Previous hop was a strict router and the next hop is strict		      * router too. There is no need to save R-URI again because it		      * is saved already. In fact, in this case we will behave exactly		      * like a strict router.		      */		     /* Note: when there is only one Route URI left (endpoint), it will		      * always be a strict router because endpoints don't use ;lr parameter		      * In this case we will simply put the URI in R-URI and forward it, which		      * will work perfectly		      */		if (rewrite_RURI(_m, uri) < 0) {			LOG(L_ERR, "ras(): Error while rewriting request URI\n");			return -4;		}		if (remove_route(_m, hdr, rt, prev) < 0) {			LOG(L_ERR, "ras(): Error while removing the topmost Route URI\n");			return -5;		}	} else {		DBG("ras(): Next hop is a loose router\n");		_m->dst_uri.s = uri->s;		_m->dst_uri.len = uri->len;		     /* Next hop is a loose router - Which means that is is not endpoint yet		      * In This case we have to recover from previous strict routing, that means we have		      * to find the last Route URI and put in in R-URI and remove the last Route URI.		      */		if (find_last_route(_m, &hdr, &rt, &prev) < 0) {			LOG(L_ERR, "ras(): Error while looking for last Route URI\n");			return -6;		}				     /* The first character if uri will be either '<' when it is the only URI in a		      * Route header field or ',' if there is more than one URI in the header field		      */		DBG("ras(): last: '%.*s'\n", rt->nameaddr.uri.len, rt->nameaddr.uri.s);		if (rewrite_RURI(_m, uri) < 0) {			LOG(L_ERR, "ras(): Can't rewrite R-URI\n");			return -7;		}		if (remove_route(_m, hdr, rt, prev) < 0) {			LOG(L_ERR, "ras(): Error while removing last route\n");			return -8;		}	}		return 0;}