rem: if (ul.insert_urecord(_d, _a, &r) < 0) {
add: if (ul.insert_urecord(_d, _u, &r) < 0) {
context: static inline int insert(struct sip_msg* _m, contact_t* _c, udomain_t* _d, str* _a, str *ua){	urecord_t* r = 0;	ucontact_t* c;	int e, cseq;	qvalue_t q;	str callid;	unsigned int flags;	str* recv, *inst;	int_str rcv_avp;	int_str val;	int num;	rcv_avp.n=rcv_avp_no;	if (isflagset(_m, nat_flag) == 1) flags = FL_NAT;	else flags = FL_NONE;	flags |= mem_only;	num = 0;	while(_c) {		if (calc_contact_expires(_m, _c->expires, &e) < 0) {			LOG(L_ERR, "insert(): Error while calculating expires\n");			return -1;		}		     /* Skip contacts with zero expires */		if (e == 0) goto skip;		if (max_contacts && (num >= max_contacts)) {			rerrno = R_TOO_MANY;			ul.delete_urecord(_d, _a);			return -1;		}		num++;			        if (r == 0) {			if (ul.insert_urecord(_d, _a, &r) < 0) {				rerrno = R_UL_NEW_R;				LOG(L_ERR, "insert(): Can't insert new record structure\n");				return -2;			}		}				     /* Calculate q value of the contact */		if (calc_contact_q(_c->q, &q) < 0) {			LOG(L_ERR, "insert(): Error while calculating q\n");			ul.delete_urecord(_d, _a);			return -3;		}		     /* Get callid of the message */		callid = _m->callid->body;			trim_trailing(&callid);				     /* Get CSeq number of the message */		if (str2int(&get_cseq(_m)->number, (unsigned int*)&cseq) < 0) {			rerrno = R_INV_CSEQ;			LOG(L_ERR, "insert(): Error while converting cseq number\n");			ul.delete_urecord(_d, _a);			return -4;		}		if (_c->received) {			recv = &_c->received->body;		} else if (search_first_avp(0, rcv_avp, &val)) {			recv = val.s;		} else {			recv = 0;		}		if(_c->instance) {			inst = &_c->instance->body;		} else {			inst = 0;		}		if (ul.insert_ucontact(r, &_c->uri, e, q, &callid, cseq, flags, &c, ua, recv, 				       _m->rcv.bind_address, inst) < 0) {			rerrno = R_UL_INS_C;			LOG(L_ERR, "insert(): Error while inserting contact\n");			ul.delete_urecord(_d, _a);			return -5;		}			skip:		_c = get_next_contact(_c);	}		if (r) {		if (!r->contacts) {			ul.delete_urecord(_d, _a);		} else {			build_contact(r->contacts);		}	}		return 0;}