rem: str* c;
add: str* c, cid, to;
context: static inline int create_presentity(struct sip_msg* _m, struct pdomain* _d, str* _to, struct presentity** _p, struct watcher** _w){	str* c;	time_t e;	if (_m->expires) {		e = ((exp_body_t*)_m->expires->parsed)->val;	} else {		e = default_expires;	}		if (e == 0) {		*_p = 0;		*_w = 0;		DBG("create_presentity(): expires = 0\n");		return 0;	}	e += time(0);	if (new_presentity(_to, _p) < 0) {		LOG(L_ERR, "create_presentity(): Error while creating presentity\n");		return -1;	}	c = &((contact_body_t*)_m->contact->parsed)->contacts->uri;	get_raw_uri(c);	if (add_watcher(*_p, &(get_from(_m)->uri), c, e, acc, &(_m->callid->body), &(get_from(_m)->tag_value), &_m->to->body, _w) < 0) {		LOG(L_ERR, "create_presentity(): Error while creating presentity\n");		return -2;	}	add_presentity(_d, *_p);	_d->reg(&(get_from(_m)->uri), _to, callback, *_p);	return 0;}