rem: package = rls_get_package(vs->subscription); subscriber = rls_get_subscriber(vs->subscription);
context: static int create_local_subscription(virtual_subscription_t *vs){	/* create concrete local subscription */	str uri;	str *package = NULL;	str list_package;	str *subscriber = NULL;		/* remove sip:, ... so pa/usrloc will be satisfied */	get_local_uri(&vs->uri, &uri); 		DEBUG_LOG("creating local subscription to %.*s\n", FMT_STR(vs->uri));	if (msg_queue_init(&vs->mq) != 0) {		LOG(L_ERR, "can't initialize message queue!\n");		return -1;	}	package = rls_get_package(vs->subscription);	subscriber = rls_get_subscriber(vs->subscription);	/* FIXME: list_package should be computed from package */	if (package) {		str append = STR_STATIC_INIT(".list");		list_package.len = package->len + append.len;		list_package.s = (char *)shm_malloc(list_package.len);		if (list_package.s) {			if (package->s) memcpy(list_package.s, package->s, package->len);			memcpy(list_package.s + package->len, append.s, append.len);		}		else list_package.len = 0;	}	else str_clear(&list_package);		vs->local_subscription_pres = subscribe(vsd->domain, 			package, 			&uri, subscriber, &vs->mq, vs);	if (!vs->local_subscription_pres) {		LOG(L_ERR, "can't create local subscription (pres)!\n");		return -1;	}	if (list_package.len > 0) {		vs->local_subscription_list = subscribe(vsd->domain, 				&list_package, 				&uri, subscriber, &vs->mq, vs);		if (!vs->local_subscription_list) {			LOG(L_ERR, "can't create local subscription (list)!\n");			return -1;		}		shm_free(list_package.s);	}	return 0;}