rem: soap->alloced = 1;
context: SOAP_FMAC5 ns1__AddressBookItem * SOAP_FMAC6 soap_instantiate_ns1__AddressBookItem(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size){DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns1__AddressBookItem(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns1__AddressBookItem, n, soap_fdelete);	if (!cp)		return NULL;	soap->alloced = 1;	if (type && !soap_match_tag(soap, type, "ns1:Contact"))	{	cp->type = SOAP_TYPE_ns1__Contact;		if (n < 0)		{	cp->ptr = (void*)new ns1__Contact;			if (size)				*size = sizeof(ns1__Contact);			((ns1__Contact*)cp->ptr)->soap = soap;		}		else		{	cp->ptr = (void*)new ns1__Contact[n];			if (size)				*size = n * sizeof(ns1__Contact);			for (int i = 0; i < n; i++)				((ns1__Contact*)cp->ptr)[i].soap = soap;		}		return (ns1__Contact*)cp->ptr;	}	if (type && !soap_match_tag(soap, type, "ns1:Group"))	{	cp->type = SOAP_TYPE_ns1__Group;		if (n < 0)		{	cp->ptr = (void*)new ns1__Group;			if (size)				*size = sizeof(ns1__Group);			((ns1__Group*)cp->ptr)->soap = soap;		}		else		{	cp->ptr = (void*)new ns1__Group[n];			if (size)				*size = n * sizeof(ns1__Group);			for (int i = 0; i < n; i++)				((ns1__Group*)cp->ptr)[i].soap = soap;		}		return (ns1__Group*)cp->ptr;	}	if (type && !soap_match_tag(soap, type, "ns1:Organization"))	{	cp->type = SOAP_TYPE_ns1__Organization;		if (n < 0)		{	cp->ptr = (void*)new ns1__Organization;			if (size)				*size = sizeof(ns1__Organization);			((ns1__Organization*)cp->ptr)->soap = soap;		}		else		{	cp->ptr = (void*)new ns1__Organization[n];			if (size)				*size = n * sizeof(ns1__Organization);			for (int i = 0; i < n; i++)				((ns1__Organization*)cp->ptr)[i].soap = soap;		}		return (ns1__Organization*)cp->ptr;	}	if (type && !soap_match_tag(soap, type, "ns1:Resource"))	{	cp->type = SOAP_TYPE_ns1__Resource;		if (n < 0)		{	cp->ptr = (void*)new ns1__Resource;			if (size)				*size = sizeof(ns1__Resource);			((ns1__Resource*)cp->ptr)->soap = soap;		}		else		{	cp->ptr = (void*)new ns1__Resource[n];			if (size)				*size = n * sizeof(ns1__Resource);			for (int i = 0; i < n; i++)				((ns1__Resource*)cp->ptr)[i].soap = soap;		}		return (ns1__Resource*)cp->ptr;	}	if (n < 0)	{	cp->ptr = (void*)new ns1__AddressBookItem;		if (size)			*size = sizeof(ns1__AddressBookItem);		((ns1__AddressBookItem*)cp->ptr)->soap = soap;	}	else	{	cp->ptr = (void*)new ns1__AddressBookItem[n];		if (size)			*size = n * sizeof(ns1__AddressBookItem);		for (int i = 0; i < n; i++)			((ns1__AddressBookItem*)cp->ptr)[i].soap = soap;	}	return (ns1__AddressBookItem*)cp->ptr;}