rem: } else {  DBG("handle_subscription(): expires==0 but we sent no NOTIFY - not implemented yet\n");
context: int handle_subscription(struct sip_msg* _m, char* _domain, char* _s2){	struct pdomain* d;	struct presentity *p;	struct watcher* w;	str p_uri;	LOG(L_ERR, "handle_subscription() entered\n");	get_act_time();	paerrno = PA_OK;	if (parse_hfs(_m, 1) < 0) {		LOG(L_ERR, "handle_subscription(): Error while parsing message header\n");		goto error;	}	if (check_message(_m) < 0) {		LOG(L_ERR, "handle_subscription(): Error while checking message\n");		goto error;	}	d = (struct pdomain*)_domain;	if (get_pres_uri(_m, &p_uri) < 0) {		LOG(L_ERR, "handle_subscription(): Error while extracting presentity URI\n");		goto error;	}	lock_pdomain(d);		if (find_presentity(d, &p_uri, &p) > 0) {		if (create_presentity(_m, d, &p_uri, &p, &w) < 0) {			LOG(L_ERR, "handle_subscription(): Error while creating new presentity\n");			goto error2;		}	} else {		if (update_presentity(_m, d, p, &w) < 0) {			LOG(L_ERR, "handle_subscription(): Error while updating presentity\n");			goto error2;		}	}	if (send_reply(_m) < 0) {	  LOG(L_ERR, "handle_subscription(): Error while sending reply\n");	  goto error2;	}	if (p && w) {		p->flags |= (PFLAG_WATCHERINFO_CHANGED);		w->flags |= WFLAG_SUBSCRIPTION_CHANGED;	} else {		     /* FIXME: We should send a NOTIFY here too. We will end here when the		      * subscribe contained expires = 0; Either there is no watcher for the		      * presentity yet - in this case p and w will be set to 0 and we have to		      * query external module (usrloc, jabber) for presence status or there		      * are already another watchers - in this case only w will be set to zero		      * and we have to send a notify. To be implemented later when there is 		      * full UAS support		      */		DBG("handle_subscription(): expires==0 but we sent no NOTIFY - not implemented yet\n");	}	LOG(L_ERR, "handle_subscription about to return 1: event_type=%d accept=%d\n",	    (w ? w->event_type : -1), (w ? w->accept : -1));	unlock_pdomain(d);	return 1;	 error2:	LOG(L_ERR, "handle_subscription about to return -1\n");	unlock_pdomain(d);	return -1; error:	LOG(L_ERR, "handle_subscription about to send_reply and return -2\n");	send_reply(_m);	return -1;}