aboutsummaryrefslogtreecommitdiff
path: root/dep/gsoap/soapC.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-12-21 01:15:58 +0100
committerShauren <shauren.trinity@gmail.com>2021-12-21 12:54:37 +0100
commit84909c749d5fcf4d9411e38cc29f261f14255e4e (patch)
treef94da1e39feefbe2afe3e66d8fb7335c0decca1e /dep/gsoap/soapC.cpp
parent8214278cd8d7962bb2530fe35ff6653e487e67b2 (diff)
Dep/gSOAP: Upgrade to 2.8.117
(cherry picked from commit 172e5c3577f99331743f7d3c81de738811781552)
Diffstat (limited to 'dep/gsoap/soapC.cpp')
-rw-r--r--dep/gsoap/soapC.cpp302
1 files changed, 174 insertions, 128 deletions
diff --git a/dep/gsoap/soapC.cpp b/dep/gsoap/soapC.cpp
index f58d2854c7d..943f2cc7a5b 100644
--- a/dep/gsoap/soapC.cpp
+++ b/dep/gsoap/soapC.cpp
@@ -1,8 +1,8 @@
/* soapC.cpp
- Generated by gSOAP 2.8.49 for gsoap.stub
+ Generated by gSOAP 2.8.117 for gsoap.stub
gSOAP XML Web services tools
-Copyright (C) 2000-2017, Robert van Engelen, Genivia Inc. All Rights Reserved.
+Copyright (C) 2000-2021, Robert van Engelen, Genivia Inc. All Rights Reserved.
The soapcpp2 tool and its generated software are released under the GPL.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
@@ -18,7 +18,7 @@ A commercial use license is available from Genivia Inc., contact@genivia.com
#include "soapH.h"
-SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.8.49 2017-07-19 15:45:31 GMT")
+SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.8.117 2021-12-21 00:03:56 GMT")
#ifndef WITH_NOGLOBAL
@@ -59,24 +59,18 @@ SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
{
if (soap->fault == NULL)
- { soap->fault = soap_new_SOAP_ENV__Fault(soap);
+ { soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
if (soap->fault == NULL)
return;
- soap_default_SOAP_ENV__Fault(soap, soap->fault);
- }
- if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
- { soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap);
- soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
- }
- if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
- { soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap);
- soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
}
+ if (soap->version == 2 && soap->fault->SOAP_ENV__Code == NULL)
+ soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
+ if (soap->version == 2 && soap->fault->SOAP_ENV__Reason == NULL)
+ soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
{
- soap_fault(soap);
if (soap->fault)
soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
}
@@ -96,6 +90,8 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
{
soap_fault(soap);
+ if (soap->fault == NULL)
+ return NULL;
if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
return (const char**)(void*)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
return (const char**)(void*)&soap->fault->faultcode;
@@ -104,60 +100,60 @@ SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
{
soap_fault(soap);
- if (soap->version == 2)
+ if (soap->fault == NULL)
+ return NULL;
+ if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
{ if (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)
- { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap);
- soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
+ { soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
+ if (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)
+ return NULL;
}
return (const char**)(void*)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
}
return (const char**)(void*)&soap->fault->faultcode;
}
-SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultsubcode(struct soap *soap)
+SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_subcode(struct soap *soap)
{
- soap_fault(soap);
- if (soap->version == 2)
- { if (soap->fault->SOAP_ENV__Code && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
- return soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
- return NULL;
- }
- return soap->fault->faultcode;
+ const char **s = soap_faultsubcode(soap);
+ return s ? *s : NULL;
}
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
{
soap_fault(soap);
- if (soap->version == 2)
+ if (soap->fault == NULL)
+ return NULL;
+ if (soap->version == 2 && soap->fault->SOAP_ENV__Reason)
return (const char**)(void*)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
return (const char**)(void*)&soap->fault->faultstring;
}
+SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_string(struct soap *soap)
+{
+ const char **s = soap_faultstring(soap);
+ return s ? *s : NULL;
+}
+
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
{
soap_fault(soap);
+ if (soap->fault == NULL)
+ return NULL;
if (soap->version == 2)
{ if (soap->fault->SOAP_ENV__Detail == NULL)
- { soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap);
- soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
- }
+ soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
return (const char**)(void*)&soap->fault->SOAP_ENV__Detail->__any;
}
if (soap->fault->detail == NULL)
- { soap->fault->detail = soap_new_SOAP_ENV__Detail(soap);
- soap_default_SOAP_ENV__Detail(soap, soap->fault->detail);
- }
+ soap->fault->detail = soap_new_SOAP_ENV__Detail(soap, -1);
return (const char**)(void*)&soap->fault->detail->__any;
}
-SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultdetail(struct soap *soap)
+SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_detail(struct soap *soap)
{
- soap_fault(soap);
- if (soap->version == 2 && soap->fault->SOAP_ENV__Detail)
- return soap->fault->SOAP_ENV__Detail->__any;
- if (soap->fault->detail)
- return soap->fault->detail->__any;
- return NULL;
+ const char **s = soap_faultdetail(soap);
+ return s ? *s : NULL;
}
#endif
@@ -168,7 +164,7 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
int t;
if (soap->version == 1)
{ for (;;)
- { if (!soap_getelement(soap, &t))
+ { if (!soap_getelement(soap, NULL, &t))
if ((soap->error && soap->error != SOAP_TAG_MISMATCH) || soap_ignore_element(soap))
break;
}
@@ -182,7 +178,7 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
#ifdef __cplusplus
extern "C" {
#endif
-SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
+SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, const char *tag, int *type)
{ (void)type;
if (soap_peek_element(soap))
return NULL;
@@ -192,23 +188,23 @@ SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
switch (*type)
{
case SOAP_TYPE_byte:
- return soap_in_byte(soap, NULL, NULL, "xsd:byte");
+ return soap_in_byte(soap, tag, NULL, "xsd:byte");
case SOAP_TYPE_int:
- return soap_in_int(soap, NULL, NULL, "xsd:int");
+ return soap_in_int(soap, tag, NULL, "xsd:int");
case SOAP_TYPE_ns1__executeCommand:
- return soap_in_ns1__executeCommand(soap, NULL, NULL, "ns1:executeCommand");
+ return soap_in_ns1__executeCommand(soap, tag, NULL, "ns1:executeCommand");
case SOAP_TYPE_ns1__executeCommandResponse:
- return soap_in_ns1__executeCommandResponse(soap, NULL, NULL, "ns1:executeCommandResponse");
+ return soap_in_ns1__executeCommandResponse(soap, tag, NULL, "ns1:executeCommandResponse");
case SOAP_TYPE_PointerTostring:
- return soap_in_PointerTostring(soap, NULL, NULL, "xsd:string");
+ return soap_in_PointerTostring(soap, tag, NULL, "xsd:string");
case SOAP_TYPE__QName:
{ char **s;
- s = soap_in__QName(soap, NULL, NULL, "xsd:QName");
+ s = soap_in__QName(soap, tag, NULL, "xsd:QName");
return s ? *s : NULL;
}
case SOAP_TYPE_string:
{ char **s;
- s = soap_in_string(soap, NULL, NULL, "xsd:string");
+ s = soap_in_string(soap, tag, NULL, "xsd:string");
return s ? *s : NULL;
}
default:
@@ -220,30 +216,30 @@ SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
t = soap->tag;
if (!soap_match_tag(soap, t, "xsd:byte"))
{ *type = SOAP_TYPE_byte;
- return soap_in_byte(soap, NULL, NULL, NULL);
+ return soap_in_byte(soap, tag, NULL, NULL);
}
if (!soap_match_tag(soap, t, "xsd:int"))
{ *type = SOAP_TYPE_int;
- return soap_in_int(soap, NULL, NULL, NULL);
+ return soap_in_int(soap, tag, NULL, NULL);
}
if (!soap_match_tag(soap, t, "ns1:executeCommand"))
{ *type = SOAP_TYPE_ns1__executeCommand;
- return soap_in_ns1__executeCommand(soap, NULL, NULL, NULL);
+ return soap_in_ns1__executeCommand(soap, tag, NULL, NULL);
}
if (!soap_match_tag(soap, t, "ns1:executeCommandResponse"))
{ *type = SOAP_TYPE_ns1__executeCommandResponse;
- return soap_in_ns1__executeCommandResponse(soap, NULL, NULL, NULL);
+ return soap_in_ns1__executeCommandResponse(soap, tag, NULL, NULL);
}
if (!soap_match_tag(soap, t, "xsd:QName"))
{ char **s;
*type = SOAP_TYPE__QName;
- s = soap_in__QName(soap, NULL, NULL, NULL);
+ s = soap_in__QName(soap, tag, NULL, NULL);
return s ? *s : NULL;
}
if (!soap_match_tag(soap, t, "xsd:string"))
{ char **s;
*type = SOAP_TYPE_string;
- s = soap_in_string(soap, NULL, NULL, NULL);
+ s = soap_in_string(soap, tag, NULL, NULL);
return s ? *s : NULL;
}
t = soap->tag;
@@ -263,25 +259,22 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
{
if (!soap_peek_element(soap))
{ int t;
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level = %u, %d)\n", soap->tag, soap->level, soap->body));
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input at level = %u body = %d)\n", soap->tag, soap->level, soap->body));
if (soap->mustUnderstand && !soap->other && !soap->fignore)
return soap->error = SOAP_MUSTUNDERSTAND;
- if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
+ if (((soap->mode & SOAP_XML_STRICT) && !soap->fignore && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
return soap->error = SOAP_TAG_MISMATCH;
}
- if (!*soap->id || !soap_getelement(soap, &t))
+ if (!*soap->id || !soap_getelement(soap, NULL, &t))
{ soap->peeked = 0;
if (soap->fignore)
soap->error = soap->fignore(soap, soap->tag);
else
soap->error = SOAP_OK;
DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
- if (!soap->error && soap->body)
- { soap->level++;
- if (soap_ignore(soap) || soap_element_end_in(soap, NULL))
- return soap->error;
- }
+ if (!soap->error && soap->body && soap_ignore(soap))
+ return soap->error;
}
}
return soap->error;
@@ -323,8 +316,11 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, co
return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:QName");
case SOAP_TYPE_string:
return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:string");
+ case 0:
+ return SOAP_OK;
}
- return SOAP_OK;
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_putelement '%s' failed for type %d in soapC.cpp\n", tag ? tag : "", type));
+ return soap_element_empty(soap, tag, 0, NULL); /* unknown type to serialize */
}
#ifdef __cplusplus
}
@@ -417,59 +413,63 @@ SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const ch
return NULL;
}
-SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
-{ switch (p->type)
+SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap *soap, struct soap_clist *p)
+{
+ (void)soap; /* appease -Wall -Werror */
+ if (!p->ptr)
+ return SOAP_OK;
+ switch (p->type)
{
case SOAP_TYPE_ns1__executeCommandResponse:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct ns1__executeCommandResponse*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct ns1__executeCommandResponse*>(p->ptr), struct ns1__executeCommandResponse);
else
- SOAP_DELETE_ARRAY(static_cast<struct ns1__executeCommandResponse*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct ns1__executeCommandResponse*>(p->ptr), struct ns1__executeCommandResponse);
break;
case SOAP_TYPE_ns1__executeCommand:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct ns1__executeCommand*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct ns1__executeCommand*>(p->ptr), struct ns1__executeCommand);
else
- SOAP_DELETE_ARRAY(static_cast<struct ns1__executeCommand*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct ns1__executeCommand*>(p->ptr), struct ns1__executeCommand);
break;
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Header:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct SOAP_ENV__Header*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Header*>(p->ptr), struct SOAP_ENV__Header);
else
- SOAP_DELETE_ARRAY(static_cast<struct SOAP_ENV__Header*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Header*>(p->ptr), struct SOAP_ENV__Header);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Code:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct SOAP_ENV__Code*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Code*>(p->ptr), struct SOAP_ENV__Code);
else
- SOAP_DELETE_ARRAY(static_cast<struct SOAP_ENV__Code*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Code*>(p->ptr), struct SOAP_ENV__Code);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Detail:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct SOAP_ENV__Detail*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Detail*>(p->ptr), struct SOAP_ENV__Detail);
else
- SOAP_DELETE_ARRAY(static_cast<struct SOAP_ENV__Detail*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Detail*>(p->ptr), struct SOAP_ENV__Detail);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Reason:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct SOAP_ENV__Reason*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Reason*>(p->ptr), struct SOAP_ENV__Reason);
else
- SOAP_DELETE_ARRAY(static_cast<struct SOAP_ENV__Reason*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Reason*>(p->ptr), struct SOAP_ENV__Reason);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Fault:
if (p->size < 0)
- SOAP_DELETE(static_cast<struct SOAP_ENV__Fault*>(p->ptr));
+ SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Fault*>(p->ptr), struct SOAP_ENV__Fault);
else
- SOAP_DELETE_ARRAY(static_cast<struct SOAP_ENV__Fault*>(p->ptr));
+ SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Fault*>(p->ptr), struct SOAP_ENV__Fault);
break;
#endif
default:
@@ -485,14 +485,8 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_fbase(int t, int b)
{
- do
- { switch (t)
- {
- default: return 0;
- }
- }
- while (t != b);
- return 1;
+ (void)t; (void)b; /* appease -Wall -Werror */
+ return 0;
}
#ifdef WIN32
#pragma warning(pop)
@@ -548,7 +542,7 @@ SOAP_FMAC3 void SOAP_FMAC4 soap_finsert(struct soap *soap, int t, int tt, void *
break;
#endif
default:
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not insert type = %d in %d\n", t, tt));
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not insert type=%d in %d\n", t, tt));
}
}
#ifdef WIN32
@@ -658,7 +652,8 @@ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, con
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
{
- const char *soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
+ const char *soap_tmp_faultcode;
+ soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
return soap->error;
@@ -694,9 +689,10 @@ SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct so
size_t soap_flag_SOAP_ENV__Node = 1;
size_t soap_flag_SOAP_ENV__Role = 1;
size_t soap_flag_SOAP_ENV__Detail = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct SOAP_ENV__Fault*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Fault(soap, a);
@@ -782,17 +778,23 @@ SOAP_FMAC1 struct SOAP_ENV__Fault * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Fault(
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct SOAP_ENV__Fault *p;
size_t k = sizeof(struct SOAP_ENV__Fault);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct SOAP_ENV__Fault);
+ { p = SOAP_NEW(soap, struct SOAP_ENV__Fault);
}
else
- { p = SOAP_NEW_ARRAY(struct SOAP_ENV__Fault, n);
+ { p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Fault, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Fault location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -844,9 +846,10 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const cha
SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
{
size_t soap_flag_SOAP_ENV__Text = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct SOAP_ENV__Reason *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct SOAP_ENV__Reason*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Reason(soap, a);
@@ -884,17 +887,23 @@ SOAP_FMAC1 struct SOAP_ENV__Reason * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Reaso
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct SOAP_ENV__Reason *p;
size_t k = sizeof(struct SOAP_ENV__Reason);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct SOAP_ENV__Reason);
+ { p = SOAP_NEW(soap, struct SOAP_ENV__Reason);
}
else
- { p = SOAP_NEW_ARRAY(struct SOAP_ENV__Reason, n);
+ { p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Reason, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Reason location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -938,7 +947,8 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const cha
(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
return soap->error;
- soap_outliteral(soap, "-any", (char*const*)&a->__any, NULL);
+ if (soap_outliteral(soap, "-any", (char*const*)&a->__any, NULL))
+ return soap->error;
if (soap_putelement(soap, a->fault, "fault", -1, a->__type))
return soap->error;
return soap_element_end_out(soap, tag);
@@ -948,9 +958,10 @@ SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct
{
size_t soap_flag___any = 1;
size_t soap_flag_fault = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct SOAP_ENV__Detail *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct SOAP_ENV__Detail*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Detail(soap, a);
@@ -959,7 +970,7 @@ SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_fault && soap->error == SOAP_TAG_MISMATCH)
- { if ((a->fault = soap_getelement(soap, &a->__type)))
+ { if ((a->fault = soap_getelement(soap, "fault", &a->__type)))
{ soap_flag_fault = 0;
continue;
}
@@ -994,17 +1005,23 @@ SOAP_FMAC1 struct SOAP_ENV__Detail * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Detai
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct SOAP_ENV__Detail *p;
size_t k = sizeof(struct SOAP_ENV__Detail);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct SOAP_ENV__Detail);
+ { p = SOAP_NEW(soap, struct SOAP_ENV__Detail);
}
else
- { p = SOAP_NEW_ARRAY(struct SOAP_ENV__Detail, n);
+ { p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Detail, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Detail location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -1045,7 +1062,8 @@ SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, cons
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
{
- const char *soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
+ const char *soap_tmp_SOAP_ENV__Value;
+ soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
return soap->error;
@@ -1060,9 +1078,10 @@ SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap
{
size_t soap_flag_SOAP_ENV__Value = 1;
size_t soap_flag_SOAP_ENV__Subcode = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct SOAP_ENV__Code *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct SOAP_ENV__Code*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Code(soap, a);
@@ -1106,17 +1125,23 @@ SOAP_FMAC1 struct SOAP_ENV__Code * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Code(st
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct SOAP_ENV__Code *p;
size_t k = sizeof(struct SOAP_ENV__Code);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct SOAP_ENV__Code);
+ { p = SOAP_NEW(soap, struct SOAP_ENV__Code);
}
else
- { p = SOAP_NEW_ARRAY(struct SOAP_ENV__Code, n);
+ { p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Code, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Code location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -1161,9 +1186,10 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const cha
SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
{
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct SOAP_ENV__Header*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Header(soap, a);
@@ -1195,17 +1221,23 @@ SOAP_FMAC1 struct SOAP_ENV__Header * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Heade
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct SOAP_ENV__Header *p;
size_t k = sizeof(struct SOAP_ENV__Header);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct SOAP_ENV__Header);
+ { p = SOAP_NEW(soap, struct SOAP_ENV__Header);
}
else
- { p = SOAP_NEW_ARRAY(struct SOAP_ENV__Header, n);
+ { p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Header, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Header location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -1253,9 +1285,10 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__executeCommand(struct soap *soap, const
SOAP_FMAC3 struct ns1__executeCommand * SOAP_FMAC4 soap_in_ns1__executeCommand(struct soap *soap, const char *tag, struct ns1__executeCommand *a, const char *type)
{
size_t soap_flag_command = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct ns1__executeCommand *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__executeCommand, sizeof(struct ns1__executeCommand), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct ns1__executeCommand*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__executeCommand, sizeof(struct ns1__executeCommand), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_ns1__executeCommand(soap, a);
@@ -1293,17 +1326,23 @@ SOAP_FMAC1 struct ns1__executeCommand * SOAP_FMAC2 soap_instantiate_ns1__execute
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct ns1__executeCommand *p;
size_t k = sizeof(struct ns1__executeCommand);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ns1__executeCommand, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct ns1__executeCommand);
+ { p = SOAP_NEW(soap, struct ns1__executeCommand);
}
else
- { p = SOAP_NEW_ARRAY(struct ns1__executeCommand, n);
+ { p = SOAP_NEW_ARRAY(soap, struct ns1__executeCommand, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ns1__executeCommand location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_ns1__executeCommand, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -1349,9 +1388,10 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__executeCommandResponse(struct soap *soap
SOAP_FMAC3 struct ns1__executeCommandResponse * SOAP_FMAC4 soap_in_ns1__executeCommandResponse(struct soap *soap, const char *tag, struct ns1__executeCommandResponse *a, const char *type)
{
size_t soap_flag_result = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
+ if (soap_element_begin_in(soap, tag, 0, NULL))
return NULL;
- a = (struct ns1__executeCommandResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__executeCommandResponse, sizeof(struct ns1__executeCommandResponse), NULL, NULL, NULL, NULL);
+ (void)type; /* appease -Wall -Werror */
+ a = (struct ns1__executeCommandResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__executeCommandResponse, sizeof(struct ns1__executeCommandResponse), NULL, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_ns1__executeCommandResponse(soap, a);
@@ -1389,17 +1429,23 @@ SOAP_FMAC1 struct ns1__executeCommandResponse * SOAP_FMAC2 soap_instantiate_ns1_
(void)type; (void)arrayType; /* appease -Wall -Werror */
struct ns1__executeCommandResponse *p;
size_t k = sizeof(struct ns1__executeCommandResponse);
+ struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ns1__executeCommandResponse, n, soap_fdelete);
+ if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
+ return NULL;
if (n < 0)
- { p = SOAP_NEW(struct ns1__executeCommandResponse);
+ { p = SOAP_NEW(soap, struct ns1__executeCommandResponse);
}
else
- { p = SOAP_NEW_ARRAY(struct ns1__executeCommandResponse, n);
+ { p = SOAP_NEW_ARRAY(soap, struct ns1__executeCommandResponse, n);
k *= n;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ns1__executeCommandResponse location=%p n=%d\n", (void*)p, n));
- soap_link(soap, p, SOAP_TYPE_ns1__executeCommandResponse, n, soap_fdelete);
if (size)
*size = k;
+ if (!p)
+ soap->error = SOAP_EOM;
+ else if (cp)
+ cp->ptr = (void*)p;
return p;
}
@@ -1551,7 +1597,7 @@ SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, co
id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code, &mark);
if (id < 0)
return soap->error;
- soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
+ (void)soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
soap_unmark(soap, mark);
return soap->error;
}