Author: nandika
Date: Tue Feb 28 01:53:08 2006
New Revision: 381615

URL: http://svn.apache.org/viewcvs?rev=381615&view=rev
Log:
soap_builder_free function modified to free stax_om_builder 

Modified:
    webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c

Modified: webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c
URL: 
http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c?rev=381615&r1=381614&r2=381615&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c Tue Feb 28 
01:53:08 2006
@@ -812,7 +812,14 @@
         AXIS2_OM_DOCUMENT_FREE(builder_impl->document, env);
         builder_impl->document = NULL;
     }
-
+    else
+    {
+        if(NULL != builder_impl->root_node )
+        {
+            AXIS2_OM_NODE_FREE_TREE(builder_impl->root_node, env);
+            builder_impl->root_node = NULL;
+        }
+    }
        if(builder->ops)
        {
                AXIS2_FREE ((*env)->allocator, builder->ops);

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c
URL: 
http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c?rev=381615&r1=381614&r2=381615&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c Tue Feb 28 
01:53:08 2006
@@ -252,6 +252,11 @@
             AXIS2_SOAP12_BUILDER_HELPER_FREE((axis2_soap12_builder_helper_t 
*)(builder_impl->builder_helper), env);
         }
     }
+    if(builder_impl->om_builder)
+    {
+        AXIS2_OM_STAX_BUILDER_FREE(builder_impl->om_builder, env);
+        builder_impl->om_builder = NULL;
+    }
     if(builder->ops)
     {
         AXIS2_FREE((*env)->allocator, builder->ops);
@@ -456,14 +461,12 @@
             axis2_soap_header_t *soap_header = NULL;
             if(builder_impl->header_present)
             {
-                
printf("AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED");
                 AXIS2_ERROR_SET((*env)->error, 
                     AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, 
AXIS2_FAILURE);
                     return AXIS2_FAILURE;
             }
             if(builder_impl->body_present)
             {
-                printf("AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER");
                 AXIS2_ERROR_SET((*env)->error,
                     AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, 
AXIS2_FAILURE);
                 return  AXIS2_FAILURE;                                         
     
@@ -486,7 +489,6 @@
             axis2_soap_body_t *soap_body = NULL;
             if(builder_impl->body_present)
             {
-                
printf("AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED");
                 AXIS2_ERROR_SET((*env)->error, 
                     
AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
                 return AXIS2_FAILURE;                   
@@ -504,7 +506,6 @@
         }
         else
         {
-            
printf("AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY");
             AXIS2_ERROR_SET((*env)->error,
                     
AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, AXIS2_FAILURE);
             return AXIS2_FAILURE;                                            

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
URL: 
http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c?rev=381615&r1=381614&r2=381615&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c Tue Feb 28 
01:53:08 2006
@@ -272,8 +272,17 @@
     }
     if(envelope_impl->om_ele_node)
     {
-        AXIS2_OM_NODE_FREE_TREE(envelope_impl->om_ele_node, env);
-        envelope_impl->om_ele_node = NULL;
+        if(envelope_impl->soap_builder)
+        {
+            AXIS2_SOAP_BUILDER_FREE(envelope_impl->soap_builder, env);
+            envelope_impl->soap_builder = NULL;
+            envelope_impl->om_ele_node = NULL;
+        }
+        else
+        {
+            AXIS2_OM_NODE_FREE_TREE(envelope_impl->om_ele_node, env); 
+            envelope_impl->om_ele_node = NULL;
+        }
     }
     
     AXIS2_FREE((*env)->allocator, envelope_impl);


Reply via email to