dushshantha    2005/06/29 03:52:46

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp
                        BeanParamWriter.java
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
                        BeanParamWriter.java
  Log:
  modified the memory deallocation in the Destructors of complex types to 
support WSDL choice construct.
  
  Revision  Changes    Path
  1.46      +6 -1      
ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
  
  Index: BeanParamWriter.java
  ===================================================================
  RCS file: 
/home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- BeanParamWriter.java      14 Jun 2005 14:45:00 -0000      1.45
  +++ BeanParamWriter.java      29 Jun 2005 10:52:46 -0000      1.46
  @@ -727,7 +727,12 @@
                        writer.write("\t/*delete any pointer and array members 
here*/\n");
                        for (int i = 0; i < attribs.length; i++) {
                                if (attribs[i].isArray()) {
  -                                     writer.write("\tdelete [] ((" + 
attribs[i].getTypeName()
  +                                     if (attribs[i].getChoiceElement())
  +                                             writer.write("\tdelete [] ((" + 
attribs[i].getTypeName()
  +                                                     + "*)" + 
attribs[i].getParamNameAsMember()
  +                                                     + "->m_Array);\n");
  +                                     else
  +                                             writer.write("\tdelete [] ((" + 
attribs[i].getTypeName()
                                                        + "*)" + 
attribs[i].getParamNameAsMember()
                                                        + ".m_Array);\n");
                                } else if (!attribs[i].isSimpleType()) {
  
  
  
  1.80      +7 -4      
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.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- BeanParamWriter.java      28 Jun 2005 18:32:36 -0000      1.79
  +++ BeanParamWriter.java      29 Jun 2005 10:52:46 -0000      1.80
  @@ -1160,10 +1160,13 @@
                if(attribs[i].isArray()){
                        if ( attribs[i].isSimpleType())
                        {
  -                             writer.write("\tdelete [] 
(("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
  -                                     }
  -                                     else
  -                                     {
  +                             if (attribs[i].getChoiceElement())
  +                                                     writer.write("\tdelete 
[] 
(("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+"->m_Array);\n");
  +                                             else    
  +                                                     writer.write("\tdelete 
[] 
(("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
  +                     }
  +                     else
  +                     {
                                                if( isNillable())
                                                {
                                                        writer.write("\tdelete 
"+attribs[i].getParamNameAsMember()+".m_Array;\n");
  
  
  

Reply via email to