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 du...@apache.org on 2005/09/22 13:03:13 UTC

svn commit: r290930 - in /webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp: BeanParamWriter.java literal/BeanParamWriter.java literal/ParmHeaderFileWriter.java

Author: dushshantha
Date: Thu Sep 22 04:02:49 2005
New Revision: 290930

URL: http://svn.apache.org/viewcvs?rev=290930&view=rev
Log:
Fix to the problem AXISCPP-343

Modified:
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=290930&r1=290929&r2=290930&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Thu Sep 22 04:02:49 2005
@@ -662,7 +662,17 @@
 				+ ")*nSize/2);\n");
 		writer.write("\t\t\tmemset(pObj, 0, sizeof(" + classname
 				+ ")*nSize/2);\n");
-		writer.write("\t\t\tdelete [] pObj;\n");
+		
+		/**
+         * Dushshantha:(Solution to the Jira AXISCPP-343
+         * After memsetting pObj to 0, deleting pObj will crash the program becouse the memory is already set to 0(NULL)
+         * So i commented out delete statement and made pObj NULL to avoid gabage referance.
+         * Thanks Samisa for the Tip.
+         * 
+         */
+        writer.write("\t\t\tpObj = NULL;\n");
+		//writer.write("\t\t\tdelete [] pObj;\n");
+        
 		writer.write("\t\t\treturn pNew;\n\t\t}\n\t\telse\n\t\t{\n");
 		writer
 				.write("\t\t\treturn new " + classname

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java?rev=290930&r1=290929&r2=290930&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java Thu Sep 22 04:02:49 2005
@@ -1066,10 +1066,19 @@
         writer.write("\t\t\t" + classname + "* pNew = new " + classname
                 + "[nSize];\n");
         writer.write("\t\t\tmemcpy(pNew, pObj, sizeof(" + classname
-                + ")*nSize/2);\n");
+        		+ ")*nSize/2);\n");
         writer.write("\t\t\tmemset(pObj, 0, sizeof(" + classname
                 + ")*nSize/2);\n");
-        writer.write("\t\t\tdelete [] pObj;\n");
+                
+        /**
+         * Dushshantha:(Solution to the Jira AXISCPP-343
+         * After memsetting pObj to 0, deleting pObj will crash the program becouse the memory is already set to 0(NULL)
+         * So i commented out delete statement and made pObj NULL to avoid gabage referance.
+         * Thanks Samisa for the Tip.
+         * 
+         */
+        writer.write("\t\t\tpObj = NULL;\n");
+        //writer.write("\t\t\tdelete [] pObj;\n");
         writer.write("\t\t\treturn pNew;\n\t\t}\n\t\telse\n\t\t{\n");
         writer.write("\t\t\treturn new " + classname
                         + "[nSize];\n\t\t}\n\t}\n");

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java?rev=290930&r1=290929&r2=290930&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java Thu Sep 22 04:02:49 2005
@@ -435,9 +435,9 @@
         try
         {
             if (this.type.isFault())
-                writer.write("\t~" + classname + "() throw();\n");
+                writer.write("\tvirtual ~" + classname + "() throw();\n");
             else
-                writer.write("\t~" + classname + "();\n");
+                writer.write("\tvirtual ~" + classname + "();\n");
         } catch (IOException e)
         {
             throw new WrapperFault(e);