rem: DBG("----> reset rr_param_buf\n");
context: static inline int insert_RR(struct sip_msg* _m, int _lr){	struct lump* l, *l2;	str user;	struct to_body* from;	str* tag;		from = 0; /* Makes gcc happy */	user.len = 0;		if (add_username) {		if (get_username(_m, &user) < 0) {			LOG(L_ERR, "insert_RR(): Error while extracting username\n");			return -1;		}	}	if (append_fromtag) {		if (parse_from_header(_m) < 0) {			LOG(L_ERR, "insert_RR(): From parsing failed\n");			return -2;		}		from = (struct to_body*)_m->from->parsed;		tag = &from->tag_value;	} else {		tag = 0;	}	if (rr_param_buf.len && rr_param_msg!=_m->id) {		/* rr_params were set for a different message -> reset buffer */		rr_param_buf.len = 0;		DBG("----> reset rr_param_buf\n");	}	if (enable_double_rr) {		l = anchor_lump(_m, _m->headers->name.s - _m->buf, 0, 0);		l2 = anchor_lump(_m, _m->headers->name.s - _m->buf, 0, 0);		if (!l || !l2) {			LOG(L_ERR, "insert_RR(): Error while creating an anchor\n");			return -5;		}		l = insert_cond_lump_after(l, COND_IF_DIFF_REALMS, 0);		l2 = insert_cond_lump_before(l2, COND_IF_DIFF_REALMS, 0);		if (!l || !l2) {			LOG(L_ERR, "insert_RR(): Error while inserting conditional lump\n");			return -6;		}		if (build_rr(l, l2, _lr, &user, tag, OUTBOUND) < 0) {			LOG(L_ERR, "insert_RR(): Error while inserting outbound Record-Route\n");			return -7;		}	}		l = anchor_lump(_m, _m->headers->name.s - _m->buf, 0, 0);	l2 = anchor_lump(_m, _m->headers->name.s - _m->buf, 0, 0);	if (!l || !l2) {		LOG(L_ERR, "insert_RR(): Error while creating an anchor\n");		return -3;	}		if (build_rr(l, l2, _lr, &user, tag, INBOUND) < 0) {		LOG(L_ERR, "insert_RR(): Error while inserting inbound Record-Route\n");		return -4;	}	/* reset the rr_param buffer */	rr_param_buf.len = 0;	return 0;}