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
   				{