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 Sanjiva Weerawarana <sa...@opensource.lk> on 2004/11/15 21:56:38 UTC
Re: [AXIS C++ 1.3] Bug in SoapDeSerializer::getBasicArray when there is more than one array
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
>