You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Ju...@fr.thalesgroup.com on 2004/11/15 15:01:26 UTC
RE: [AXIS C++ 1.3] Bug in SoapDeSerializer::getBasicArray when th
ere is more than one array
The previous patch was not working when there is other type than array
in the message. This one is better :
diff -bBdNrw -U5 axis-c-src-1-3-linux/src/soap/SoapDeSerializer.cpp
axis-c-src-1-3-linux.modif/src/soap/SoapDeSerializer.cpp
--- axis-c-src-1-3-linux/src/soap/SoapDeSerializer.cpp 2004-10-22
14:50:49.000000000 +0200
+++ axis-c-src-1-3-linux.modif/src/soap/SoapDeSerializer.cpp 2004-11-15
13:59:12.000000000 +0100
@@ -726,10 +726,11 @@
free(Array.m_Array);\
Array.m_Array = 0;\
Array.m_Size = 0;\
return Array;\
}\
+m_pNode = m_pParser->next(); /* skip end element node too */\
return Array;
#define DESERIALIZE_LITERAL_ARRAY_BLOCK(cpp_type, conv_func) \
Array.m_Array = malloc(sizeof(cpp_type)*INITIAL_ARRAY_SIZE);\
if (!Array.m_Array) return Array;\
@@ -848,10 +849,11 @@
free(Array.m_Array);
Array.m_Array = 0;
Array.m_Size = 0;
return Array;
}
+ m_pNode = m_pParser->next(); /* skip end element node too
*/
return Array;
case XSD_UNSIGNEDINT:
DESERIALIZE_ENCODED_ARRAY_BLOCK(unsigned int, CONV_STRTOUL)
case XSD_SHORT:
DESERIALIZE_ENCODED_ARRAY_BLOCK(short, CONV_STRTOL)
Best Regards.
--
Julien Lemoine
Re: [AXIS C++ 1.3] Bug in SoapDeSerializer::getBasicArray when there is more than one array
Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
Wrong list :) .. pls post to axis-c-dev@ws.apache.org.
Sanjiva.
----- Original Message -----
From: <Ju...@fr.thalesgroup.com>
To: <ax...@ws.apache.org>
Sent: Monday, November 15, 2004 8:01 PM
Subject: RE: [AXIS C++ 1.3] Bug in SoapDeSerializer::getBasicArray when
there is more than one array
> The previous patch was not working when there is other type than array
> in the message. This one is better :
>
> diff -bBdNrw -U5 axis-c-src-1-3-linux/src/soap/SoapDeSerializer.cpp
> axis-c-src-1-3-linux.modif/src/soap/SoapDeSerializer.cpp
> --- axis-c-src-1-3-linux/src/soap/SoapDeSerializer.cpp 2004-10-22
> 14:50:49.000000000 +0200
> +++ axis-c-src-1-3-linux.modif/src/soap/SoapDeSerializer.cpp 2004-11-15
> 13:59:12.000000000 +0100
> @@ -726,10 +726,11 @@
> free(Array.m_Array);\
> Array.m_Array = 0;\
> Array.m_Size = 0;\
> return Array;\
> }\
> +m_pNode = m_pParser->next(); /* skip end element node too */\
> return Array;
>
> #define DESERIALIZE_LITERAL_ARRAY_BLOCK(cpp_type, conv_func) \
> Array.m_Array = malloc(sizeof(cpp_type)*INITIAL_ARRAY_SIZE);\
> if (!Array.m_Array) return Array;\
> @@ -848,10 +849,11 @@
> free(Array.m_Array);
> Array.m_Array = 0;
> Array.m_Size = 0;
> return Array;
> }
> + m_pNode = m_pParser->next(); /* skip end element node too
> */
> return Array;
> case XSD_UNSIGNEDINT:
> DESERIALIZE_ENCODED_ARRAY_BLOCK(unsigned int,
CONV_STRTOUL)
> case XSD_SHORT:
> DESERIALIZE_ENCODED_ARRAY_BLOCK(short, CONV_STRTOL)
>
> Best Regards.
> --
> Julien Lemoine
>