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);