You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/03/22 06:18:24 UTC
svn commit: r387727 - in /webservices/axis2/trunk/c/modules/xml:
om/om_element.c om/om_node.c soap/soap_envelope.c
Author: nandika
Date: Tue Mar 21 21:18:20 2006
New Revision: 387727
URL: http://svn.apache.org/viewcvs?rev=387727&view=rev
Log:
get_text function modified
Modified:
webservices/axis2/trunk/c/modules/xml/om/om_element.c
webservices/axis2/trunk/c/modules/xml/om/om_node.c
webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
Modified: webservices/axis2/trunk/c/modules/xml/om/om_element.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_element.c?rev=387727&r1=387726&r2=387727&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_element.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_element.c Tue Mar 21 21:18:20 2006
@@ -180,6 +180,8 @@
axis2_om_children_iterator_t* children_iter;
axis2_om_children_qname_iterator_t *children_qname_iter;
+
+ axis2_char_t *text_value;
}axis2_om_element_impl_t;
@@ -229,6 +231,7 @@
element->child_ele_iter = NULL;
element->children_iter = NULL;
element->children_qname_iter = NULL;
+ element->text_value = NULL;
element->localname = (axis2_char_t *) AXIS2_STRDUP(localname,env);
if (!element->localname)
@@ -791,12 +794,19 @@
AXIS2_OM_CHILDREN_QNAME_ITERATOR_FREE(element_impl->children_qname_iter, env);
element_impl->children_qname_iter = NULL;
}
+ if(NULL != element_impl->text_value)
+ {
+ AXIS2_FREE((*env)->allocator, element_impl->text_value);
+ element_impl->text_value = NULL;
+ }
+
if(NULL != om_element->ops)
{
AXIS2_FREE ((*env)->allocator, om_element->ops);
om_element->ops = NULL;
}
+
AXIS2_FREE ((*env)->allocator, element_impl);
return status;
@@ -1174,6 +1184,12 @@
AXIS2_PARAM_CHECK((*env)->error, element_node, NULL);
element_impl = AXIS2_INTF_TO_IMPL(om_element);
+ if(NULL != element_impl->text_value)
+ {
+ AXIS2_FREE((*env)->allocator, element_impl->text_value);
+ element_impl->text_value = NULL;
+ }
+
temp_node = AXIS2_OM_NODE_GET_FIRST_CHILD(element_node, env);
while(NULL != temp_node)
@@ -1207,16 +1223,15 @@
}
else if(!dest && temp_text && AXIS2_STRCMP(temp_text, "") != 0)
{
- /* We do not need to dup this here - Samisa
- dest = AXIS2_STRDUP(temp_text, env); */
- dest = temp_text;
+ dest = AXIS2_STRDUP(temp_text, env);
}
}
}
temp_node = AXIS2_OM_NODE_GET_NEXT_SIBLING(temp_node, env);
}
- return dest;
+ element_impl->text_value = dest;
+ return element_impl->text_value;
}
axis2_status_t AXIS2_CALL
Modified: webservices/axis2/trunk/c/modules/xml/om/om_node.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_node.c?rev=387727&r1=387726&r2=387727&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_node.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_node.c Tue Mar 21 21:18:20 2006
@@ -350,8 +350,8 @@
*/
AXIS2_DECLARE(axis2_status_t)
axis2_om_node_set_parent (axis2_om_node_t *om_node,
- axis2_env_t **env,
- axis2_om_node_t * parent)
+ axis2_env_t **env,
+ axis2_om_node_t * parent)
{
axis2_om_node_impl_t *node_impl = NULL;
AXIS2_ENV_CHECK(env,AXIS2_FAILURE);
@@ -682,6 +682,8 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, om_node, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, first_child, AXIS2_FAILURE);
+ /** set the parent */
+ axis2_om_node_set_parent(first_child, env, om_node);
AXIS2_INTF_TO_IMPL(om_node)->first_child = first_child;
return AXIS2_SUCCESS;
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=387727&r1=387726&r2=387727&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c Tue Mar 21 21:18:20 2006
@@ -491,7 +491,7 @@
if(NULL != text)
{
AXIS2_OM_ELEMENT_SET_TEXT(fault_code_om_ele, env, text, fault_code_om_node);
- AXIS2_FREE((*env)->allocator, text);
+ /* AXIS2_FREE((*env)->allocator, text); */
}
AXIS2_OM_NODE_FREE_TREE(fault_value_om_node, env);
}
@@ -538,7 +538,7 @@
{
AXIS2_OM_ELEMENT_SET_TEXT( fault_reason_om_ele,
env, text, fault_reason_om_node);
- AXIS2_FREE((*env)->allocator, text);
+ /* AXIS2_FREE((*env)->allocator, text); */
}
}
AXIS2_OM_NODE_FREE_TREE(fault_text_om_node, env);