rem: if (soap->alloced) soap_default_SOAP_ENV__Fault(soap, a);
add: soap_default_SOAP_ENV__Fault(soap, a);
context: SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type){	short soap_flag_faultcode = 1, soap_flag_faultstring = 1, soap_flag_faultactor = 1, soap_flag_detail = 1, soap_flag_SOAP_ENV__Code = 1, soap_flag_SOAP_ENV__Reason = 1, soap_flag_SOAP_ENV__Node = 1, soap_flag_SOAP_ENV__Role = 1, soap_flag_SOAP_ENV__Detail = 1;	if (soap_element_begin_in(soap, tag, 0))		return NULL;	if (*soap->type && soap_match_tag(soap, soap->type, type))	{	soap->error = SOAP_TYPE;		return NULL;	}	a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, NULL, NULL, NULL);	if (!a)		return NULL;	if (soap->alloced)		soap_default_SOAP_ENV__Fault(soap, a);	if (soap->body && !*soap->href)	{	for (;;)		{	soap->error = SOAP_TAG_MISMATCH;			if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in__QName(soap, "faultcode", &a->faultcode, ""))				{	soap_flag_faultcode = 0;					continue;				}			if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in_string(soap, "faultstring", &a->faultstring, ""))				{	soap_flag_faultstring = 0;					continue;				}			if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in_string(soap, "faultactor", &a->faultactor, ""))				{	soap_flag_faultactor = 0;					continue;				}			if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)				if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))				{	soap_flag_detail = 0;					continue;				}			if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))				{	soap_flag_SOAP_ENV__Code = 0;					continue;				}			if (soap_flag_SOAP_ENV__Reason && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in_string(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))				{	soap_flag_SOAP_ENV__Reason = 0;					continue;				}			if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in_string(soap, "SOAP-ENV:Node", &a->SOAP_ENV__Node, ""))				{	soap_flag_SOAP_ENV__Node = 0;					continue;				}			if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))				if (soap_in_string(soap, "SOAP-ENV:Role", &a->SOAP_ENV__Role, ""))				{	soap_flag_SOAP_ENV__Role = 0;					continue;				}			if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)				if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))				{	soap_flag_SOAP_ENV__Detail = 0;					continue;				}			if (soap->error == SOAP_TAG_MISMATCH)				soap->error = soap_ignore_element(soap);			if (soap->error == SOAP_NO_TAG)				break;			if (soap->error)				return NULL;		}		if (soap_element_end_in(soap, tag))			return NULL;	}	else	{	a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	return a;}