⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soapc.c

📁 apache模组的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
		return NULL;	if (*soap->type && soap_match_tag(soap, soap->type, type))	{	soap->error = SOAP_TYPE_MISMATCH;		soap_revert(soap);		return NULL;	}	if (soap->null)	{	if (soap->mode & SOAP_XML_NIL)		{	soap->error = SOAP_NULL;			return NULL;		}		else			return a;	}	if (!*soap->href)	{	a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0);		if (!a)			return NULL;		if (soap->alloced)			soap_default_SOAP_ENV__Header(soap, a);		if (soap->body)		{	for (;;)			{	soap->error = SOAP_TAG_MISMATCH;			if (soap_flag_TransactionID && soap->error == SOAP_TAG_MISMATCH)				if (soap_in_PointerToxsd__string(soap, "TransactionID", &a->TransactionID, "xsd:string"))				{	soap_flag_TransactionID = 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__Header *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0), SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header));		if (soap->alloced)			soap_default_SOAP_ENV__Header(soap, a);		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	return a;}#endifSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary const*a){	soap_mark_xsd__base64Binary(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary const*a){	if (a->__ptr)		soap_array_reference(soap, a, (struct soap_array*)&a->__ptr, a->__size, SOAP_TYPE_xsd__base64Binary);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *a){	a->__size = 0;	a->__ptr = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *a, const char *tag, const char *type){	int i = soap_embed_array(soap, (void*)a, (struct soap_array*)&a->__ptr, a->__size, tag, SOAP_TYPE_xsd__base64Binary);	soap_out_xsd__base64Binary(soap, tag, i, a, type);	return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__base64Binary(struct soap *soap, const char *tag, int id, const struct xsd__base64Binary *a, const char *type){	int i;	struct soap_plist *pp;	int n = a->__size;	i = soap_array_pointer_lookup(soap, a, (struct soap_array*)&a->__ptr, n, SOAP_TYPE_xsd__base64Binary, &pp);	if (!a->__ptr)	{	soap_element_null(soap, tag, i, type);		return SOAP_OK;	}	if (id <= 0 && i)	{	if (soap_is_embedded(soap, pp))		{	soap_element_ref(soap, tag, 0, i);			return SOAP_OK;		}		if (soap_is_single(soap, pp))			i = 0;	}	else if (id > 0)		i = id;	soap_element_begin_out(soap, tag, i, "xsd:base64Binary");	if (i)		soap_set_embedded(soap, pp);	soap_putbase64(soap, a->__ptr, a->__size);	soap_element_end_out(soap, tag);	return SOAP_OK;}SOAP_FMAC3 struct xsd__base64Binary * SOAP_FMAC4 soap_get_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *p, const char *tag, const char *type){	if ((p = soap_in_xsd__base64Binary(soap, tag, p, type)))		soap_getindependent(soap);	return p;}SOAP_FMAC3 struct xsd__base64Binary * SOAP_FMAC4 soap_in_xsd__base64Binary(struct soap *soap, const char *tag, struct xsd__base64Binary *a, const char *type){	if (soap_element_begin_in(soap, tag))		return NULL;	if (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, "SOAP-ENC:base64") && soap_match_tag(soap, soap->type, "SOAP-ENC:base64Binary"))	{	soap->error = SOAP_TYPE_MISMATCH;		soap_revert(soap);		return NULL;	}	if (soap->null)	{	if ((a = (struct xsd__base64Binary *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0)))			soap_default_xsd__base64Binary(soap, a);			if (soap->body && soap_element_end_in(soap, tag))				return NULL;	}	else if (!*soap->href)	{	if (!(a = (struct xsd__base64Binary *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0)))			return NULL;		if (soap->alloced)			soap_default_xsd__base64Binary(soap, a);		if (soap->body)		{		a->__ptr = soap_getbase64(soap, (size_t*)&a->__size, 0);		if (soap_element_end_in(soap, tag))			return NULL;		}	}	else	{	a = (struct xsd__base64Binary *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0), SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary));		if (soap->alloced)			soap_default_xsd__base64Binary(soap, a);		if (soap->body && soap_element_end_in(soap, tag))		return NULL;	}	return a;}#ifndef WITH_NOGLOBALSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){	if (!soap_reference(soap, a, SOAP_TYPE_PointerToSOAP_ENV__Code))		soap_mark_PointerToSOAP_ENV__Code(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))		soap_mark_SOAP_ENV__Code(soap, *a);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a){	*a = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a, const char *tag, const char *type){	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerToSOAP_ENV__Code);	soap_out_PointerToSOAP_ENV__Code(soap, tag, i, a, type);	return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type){	struct soap_plist *pp;	register int i;	id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerToSOAP_ENV__Code);	if (!*a)		return soap_element_null(soap, tag, id, type);	i = soap_pointer_lookup(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp);	if (i)	{	if (soap_is_embedded(soap, pp))			return soap_element_ref(soap, tag, id, i);		if (soap_is_single(soap, pp))			return soap_out_SOAP_ENV__Code(soap, tag, 0, *a, type);		soap_set_embedded(soap, pp);		return soap_out_SOAP_ENV__Code(soap, tag, i, *a, type);	}	return soap_out_SOAP_ENV__Code(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp), *a, type);}SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type){	if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type)))		soap_getindependent(soap);	return p;}SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type){	struct SOAP_ENV__Code *p;	if (soap_element_begin_in(soap, tag))		return NULL;	if (soap->null)	{	a = (struct SOAP_ENV__Code **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1);		if (a)			*a = NULL;		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	else if (!*soap->href)	{	soap_revert(soap);		if (a)		{	if ((p = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))				*a = p;			else				a = NULL;		}		else if ((p = soap_in_SOAP_ENV__Code(soap, tag, NULL, type)))		{	a = (struct SOAP_ENV__Code **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 0);			if (a)				*a = p;		}	}	else	{	a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1), SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0);		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	return a;}#endifSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *const*a){	if (!soap_reference(soap, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp))		soap_mark_PointerTodsmp__SyncOrderRelationResp(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *const*a){	if (!soap_reference(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp))		soap_mark_dsmp__SyncOrderRelationResp(soap, *a);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **a){	*a = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **a, const char *tag, const char *type){	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp);	soap_out_PointerTodsmp__SyncOrderRelationResp(soap, tag, i, a, type);	return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, int id, struct dsmp__SyncOrderRelationResp *const*a, const char *type){	struct soap_plist *pp;	register int i;	id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp);	if (!*a)		return soap_element_null(soap, tag, id, type);	i = soap_pointer_lookup(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp, &pp);	if (i)	{	if (soap_is_embedded(soap, pp))			return soap_element_ref(soap, tag, id, i);		if (soap_is_single(soap, pp))			return soap_out_dsmp__SyncOrderRelationResp(soap, tag, 0, *a, type);		soap_set_embedded(soap, pp);		return soap_out_dsmp__SyncOrderRelationResp(soap, tag, i, *a, type);	}	return soap_out_dsmp__SyncOrderRelationResp(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp, &pp), *a, type);}SOAP_FMAC3 struct dsmp__SyncOrderRelationResp ** SOAP_FMAC4 soap_get_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **p, const char *tag, const char *type){	if ((p = soap_in_PointerTodsmp__SyncOrderRelationResp(soap, tag, p, type)))		soap_getindependent(soap);	return p;}SOAP_FMAC3 struct dsmp__SyncOrderRelationResp ** SOAP_FMAC4 soap_in_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, struct dsmp__SyncOrderRelationResp **a, const char *type){	struct dsmp__SyncOrderRelationResp *p;	if (soap_element_begin_in(soap, tag))		return NULL;	if (soap->null)	{	a = (struct dsmp__SyncOrderRelationResp **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 1);		if (a)			*a = NULL;		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	else if (!*soap->href)	{	soap_revert(soap);		if (a)		{	if ((p = soap_in_dsmp__SyncOrderRelationResp(soap, tag, *a, type)))				*a = p;			else				a = NULL;		}		else if ((p = soap_in_dsmp__SyncOrderRelationResp(soap, tag, NULL, type)))		{	a = (struct dsmp__SyncOrderRelationResp **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 0);			if (a)				*a = p;		}	}	else	{	a = (struct dsmp__SyncOrderRelationResp **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 1), SOAP_TYPE_dsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp), 0);		if (soap->body && soap_element_end_in(soap, tag))			return NULL;	}	return a;}SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq *const*a){	if (!soap_reference(soap, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq))		soap_mark_PointerTodsmp__SyncOrderRelationReq(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq *const*a){	if (!soap_reference(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationReq))		soap_mark_dsmp__SyncOrderRelationReq(soap, *a);}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq **a, const char *tag, const char *type){	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq);	soap_out_PointerTodsmp__SyncOrderRelationReq(soap, tag, i, a, type);	return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, const char *tag, int id, struct dsmp__SyncOrderRelationReq *const*a, const char *type){	struct soap_plist *pp;	register int i;	id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq);	if (!*a)		return soap_element_null(soap, tag, id, type);	i = soap_pointer_lookup(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationReq, &pp);	if (i)	{	if (soap_is_embedded(soap, pp))			return soap_element_ref(soap, tag, id, i);		if (soap_is_single(soap, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -