You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by wh...@apache.org on 2005/04/22 16:06:22 UTC
cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal BeanParamWriter.java
whitlock 2005/04/22 07:06:22
Modified: c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
BeanParamWriter.java
Log:
Fix deserializing output simple array by memcpy(... sizeof(type*)...) instead of memcpy(...sizeof(type)...)
Revision Changes Path
1.63 +10 -2 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
Index: BeanParamWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- BeanParamWriter.java 29 Mar 2005 08:16:30 -0000 1.62
+++ BeanParamWriter.java 22 Apr 2005 14:06:22 -0000 1.63
@@ -334,13 +334,21 @@
|| typename.equals("xsd__NMTOKEN"))
{
writer.write("\tparam->"+attribs[i].getParamNameAsMember()+".m_Array = ("+attribs[i].getTypeName()+"*)new "+attribs[i].getTypeName()+"[array.m_Size];\n");
+ writer.write("\tparam->"+attribs[i].getParamNameAsMember()+
+ ".m_Size = array.m_Size;\n\n");
+ writer.write("\tmemcpy( param->"+attribs[i].getParamNameAsMember()+
+ ".m_Array, array.m_Array, sizeof( "+attribs[i].getTypeName()+
+ ") * array.m_Size);\n");
}
else
{
writer.write("\tparam->"+attribs[i].getParamNameAsMember()+".m_Array = ("+attribs[i].getTypeName()+"**)new "+attribs[i].getTypeName()+"*[array.m_Size];\n");
+ writer.write("\tparam->"+attribs[i].getParamNameAsMember()+
+ ".m_Size = array.m_Size;\n\n");
+ writer.write("\tmemcpy( param->"+attribs[i].getParamNameAsMember()+
+ ".m_Array, array.m_Array, sizeof( "+attribs[i].getTypeName()+
+ "*) * array.m_Size);\n");
}
- writer.write("\tparam->"+attribs[i].getParamNameAsMember()+".m_Size = array.m_Size;\n\n");
- writer.write("\tmemcpy( param->"+attribs[i].getParamNameAsMember()+".m_Array, array.m_Array, sizeof( "+attribs[i].getTypeName()+") * array.m_Size);\n");
}
else
{