rem: return rc;
add: break;
context: int send_notify(struct presentity* _p, struct watcher* _w){	int rc = 0;	body.len = 0;	if (_w->uri.s == NULL) {		LOG(L_ERR, "watcher uri.s is NULL\n");		return -1;	}	if (strlen(_w->uri.s) == 0) {		LOG(L_ERR, "watcher uri.s is zero length\n");		return -2;	}	LOG(L_ERR, "notifying %.*s _p->flags=%x _w->event_package=%d _w->preferred_mimetype=%d _w->status=%d\n", 	    _w->uri.len, _w->uri.s, _p->flags, _w->event_package, _w->preferred_mimetype, _w->status);	if ((_p->flags & (PFLAG_PRESENCE_CHANGED|PFLAG_WATCHERINFO_CHANGED)) 	    && (_w->event_package == EVENT_PRESENCE)	    && (_w->status = WS_ACTIVE)) {		switch(_w->preferred_mimetype) {		case DOC_XPIDF:			rc = send_xpidf_notify(_p, _w);			if (rc) LOG(L_ERR, "send_xpidf_notify returned %d\n", rc);			break;		case DOC_LPIDF:			rc = send_lpidf_notify(_p, _w);			if (rc) LOG(L_ERR, "send_lpidf_notify returned %d\n", rc);			break;#ifdef SUBTYPE_XML_MSRTC_PIDF		case DOC_MSRTC_PIDF:#endif		case DOC_PIDF:		default:			rc = send_pidf_notify(_p, _w);			if (rc) LOG(L_ERR, "send_pidf_notify returned %d\n", rc);		}	}	if ((_p->flags & PFLAG_WATCHERINFO_CHANGED) 	    && (_w->event_package == EVENT_PRESENCE_WINFO)) {		switch(_w->preferred_mimetype) {		case DOC_WINFO:			if (watcherinfo_notify) {				rc = send_winfo_notify(_p, _w);				if (rc) LOG(L_ERR, "send_winfo_notify returned %d\n", rc);				return rc;			} else {				return 0;			}		default:			/* inapplicable */		  ;		}	}#ifdef HAVE_XCAP_CHANGE_NOTIFY	if ((_p->flags & PFLAG_XCAP_CHANGED) 	    && (_w->event_package == EVENT_XCAP_CHANGE)) {		switch(_w->preferred_mimetype) {#ifdef DOC_XCAP_CHANGE		case DOC_XCAP_CHANGE:#endif		default:			rc = send_xcap_change_notify(_p, _w);			if (rc) LOG(L_ERR, "send_xcap_change_notify returned %d\n", rc);		}	}#endif /* HAVE_XCAP_CHANGE_NOTIFY */#ifdef PFLAG_LOCATION_CHANGED	if ((_p->flags & PFLAG_LOCATION_CHANGED) 	    && (_w->event_package == EVENT_LOCATION)) {		switch(_w->preferred_mimetype) {		case DOC_LOCATION:			rc = send_location_notify(_p, _w);			if (rc) LOG(L_ERR, "send_location_notify returned %d\n", rc);			return rc;		default:		  rc = -1;		  ;		}	}#endif /* PFLAG_LOCATION_CHANGED */	return rc;}