add: return 0;
context: int register_watcher(str* _d, str* _a, notcb_t _c, void* _data){	udomain_t* d;	urecord_t* r;	if (find_domain(_d, &d) > 0) {		LOG(L_ERR, "register_watcher(): Domain \'%.*s\' not found\n", _d->len, _d->s);		return -1;	}	lock_udomain(d);	if (get_urecord(d, _a, &r) > 0) {		if (insert_urecord(d, _a, &r) < 0) {			LOG(L_ERR, "register_watcher(): Error while creating a new record\n");			return -2;		}	}	if (add_watcher(r, _c, _data) < 0) {		LOG(L_ERR, "register_watcher(): Error while adding a watcher\n");		release_urecord(r);		unlock_udomain(d);		return -3;	}	unlock_udomain(d);}