rem: s->first_vs = NULL; s->last_vs = NULL;
add: ptr_vector_init(&s->vs, 4);
context: int rls_create_subscription(struct sip_msg *m, rl_subscription_t **dst, const char *xcap_root){	rl_subscription_t *s;	int res;	if (!dst) return RES_INTERNAL_ERR;	*dst = NULL;	/* FIXME: test if there is a "Require: eventlist" header - if not,	 * it is probbably not a message for RLS! */	/* FIXME: test if Accept = multipart/related, application/rlmi+xml! */		s = (rl_subscription_t*)shm_malloc(sizeof(rl_subscription_t));	if (!s) {		LOG(L_ERR, "rls_create_new(): can't allocate memory\n");		return RES_MEMORY_ERR;	}	s->subscription.status = subscription_uninitialized;	s->doc_version = 0;	s->changed = 0;	s->first_vs = NULL;	s->last_vs = NULL;	res = sm_init_subscription_nolock(rls_manager, &s->subscription, m);	if (res != RES_OK) {		rls_free(s);		return res;	}	/* store pointer to this RL subscription as user data of (low level) subscription */	s->subscription.usr_data = s; /*	res = set_rls_info(m, s, xcap_root);	if (res != 0) {		rls_free(s);		return res;	}*/		res = create_virtual_subscriptions(m, s, xcap_root);	if (res != 0) {		rls_free(s);		return res;	}	*dst = s;	return RES_OK;}