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 ba...@apache.org on 2004/04/05 13:52:52 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c ArrayParamWriter.java

baudyjy     2004/04/05 04:52:52

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c
                        ArrayParamWriter.java
  Log:
  Fix VC6 compilation.
  
  Revision  Changes    Path
  1.7       +15 -3     ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ArrayParamWriter.java
  
  Index: ArrayParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ArrayParamWriter.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ArrayParamWriter.java	29 Mar 2004 04:20:31 -0000	1.6
  +++ ArrayParamWriter.java	5 Apr 2004 11:52:52 -0000	1.7
  @@ -123,11 +123,23 @@
   	
   	protected void writeArrayStruct()throws WrapperFault{
   		try{			
  -			writer.write("typedef struct {\n");
  +			writer.write("typedef struct "+classname+"Tag\n{\n");
  +			/*
  +			 * Needed for self referenced  array else compilation failed.
  +			* <xsd:complexType name="Type1">
  +			*	<xsd:sequence>
  +			*		<xsd:element name="followings" maxOccurs="unbounded" minOccurs="0" type="tns:Type1" />
  +			*		<xsd:element name="kind" type="xsd:string" />
  +			*		<xsd:element name="index" type="xsd:int" />
  +			*	</xsd:sequence>
  +			*	<xsd:attribute name="att_kind" type="tns:Kind" />
  +			* </xsd:complexType>
  +			*/					
  +			//writer.write("\t"+attribs[0].getTypeName()+"* m_Array;\n\tint m_Size;\n} "+classname+";\n\n");
   			if(attribs[0].isSimpleType()){
   				throw new WrapperFault("Error : no need to synthesis arrays for simple types");				
  -			}else{
  -				writer.write("\t"+attribs[0].getTypeName()+"* m_Array;\n\tint m_Size;\n} "+classname+";\n\n");
  +			}else{			
  +			writer.write("\tstruct "+attribs[0].getTypeName()+"Tag * m_Array;\n\tint m_Size;\n} "+classname+";\n\n");		
   			}
   		} catch (IOException e) {
   			 throw new WrapperFault(e);