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 ma...@apache.org on 2007/08/27 07:51:11 UTC

svn commit: r570007 - in /webservices/axis2/trunk/c/axiom/src: om/om_element.c om/om_namespace.c soap/soap_header.c

Author: manjula
Date: Sun Aug 26 22:51:10 2007
New Revision: 570007

URL: http://svn.apache.org/viewvc?rev=570007&view=rev
Log:
Modifying the axiom_element_create to free the namespace which is used to build that
element when it found that namkespace already in the tree.

Modified:
    webservices/axis2/trunk/c/axiom/src/om/om_element.c
    webservices/axis2/trunk/c/axiom/src/om/om_namespace.c
    webservices/axis2/trunk/c/axiom/src/soap/soap_header.c

Modified: webservices/axis2/trunk/c/axiom/src/om/om_element.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_element.c?rev=570007&r1=570006&r2=570007&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_element.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_element.c Sun Aug 26 22:51:10 2007
@@ -115,8 +115,24 @@
         uri = axiom_namespace_get_uri(ns, env);
         prefix = axiom_namespace_get_prefix(ns, env);
 
+        if (prefix && axutil_strcmp(prefix, "") == 0)
+        {
+            element->ns = NULL;
+            return element;
+        }
+        
         element->ns = axiom_element_find_namespace(element,
             env, *node, uri, prefix);
+
+        if(element->ns)
+        {
+            if (ns != element->ns)
+            {
+                axiom_namespace_free(ns, env);
+                ns = NULL;
+            }
+        }
+
         if (!(element->ns))
         {
             if (axiom_element_declare_namespace(element,
@@ -125,10 +141,12 @@
                 element->ns = ns;
             }
         }
-        if (prefix && axutil_strcmp(prefix, "") == 0)
+
+        /*if (prefix && axutil_strcmp(prefix, "") == 0)
         {
             element->ns = NULL;
         }
+        */
     }
 
     return element;

Modified: webservices/axis2/trunk/c/axiom/src/om/om_namespace.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_namespace.c?rev=570007&r1=570006&r2=570007&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_namespace.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_namespace.c Sun Aug 26 22:51:10 2007
@@ -52,7 +52,7 @@
         return NULL;
     }
 
-    om_namespace->ref = 0;
+    om_namespace->ref = 1;
     om_namespace->prefix = NULL;
     om_namespace->uri = NULL;
     om_namespace->key = NULL;

Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_header.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_header.c?rev=570007&r1=570006&r2=570007&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_header.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_header.c Sun Aug 26 22:51:10 2007
@@ -229,7 +229,7 @@
 
         hb_ele = (axiom_element_t *)
                 axiom_node_get_data_element(header_block_node, env);
-        if (hb_ele)
+        /*if (hb_ele)
         {
             axiom_namespace_t *dec_ns = NULL;
             uri = axiom_namespace_get_uri(cloned_ns, env);
@@ -238,12 +238,12 @@
             dec_ns = axiom_element_find_declared_namespace(hb_ele, env, uri, prefix);
             if (!dec_ns)
             {
-                /** this namespace it not in hb_ele list so free it */
+                // this namespace it not in hb_ele list so free it 
                 axiom_namespace_free(cloned_ns, env);
                 cloned_ns = NULL;
             }
 
-        }
+        }*/
         return header_block;
     }
     else



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org