You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by ra...@apache.org on 2016/09/18 17:54:09 UTC
svn commit: r1761350 - /axis/axis2/c/core/trunk/axiom/src/om/om_node.c
Author: rafaelb
Date: Sun Sep 18 17:54:09 2016
New Revision: 1761350
URL: http://svn.apache.org/viewvc?rev=1761350&view=rev
Log:
axiom_node_add_sibling function added. It can be used to generates a multipart envelop payload.
Jira: AXIS2C-1687
Modified:
axis/axis2/c/core/trunk/axiom/src/om/om_node.c
Modified: axis/axis2/c/core/trunk/axiom/src/om/om_node.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/axiom/src/om/om_node.c?rev=1761350&r1=1761349&r2=1761350&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/axiom/src/om/om_node.c (original)
+++ axis/axis2/c/core/trunk/axiom/src/om/om_node.c Sun Sep 18 17:54:09 2016
@@ -1434,7 +1434,33 @@ axiom_node_to_string_non_optimized(
axiom_output_free(om_output, env);
return xml;
}
-
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+axiom_node_add_sibling(
+ const axutil_env_t *env,
+ axiom_node_t *nodeElem,
+ axiom_node_t *nodeElemSibling)
+{
+ assert(env != NULL);
+
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK(env->error, nodeElem, NULL);
+ AXIS2_PARAM_CHECK(env->error, nodeElemSibling, NULL);
+
+ axiom_node_t *next_sib = NULL;
+ nodeElemSibling->parent = nodeElem->parent;
+ nodeElemSibling->prev_sibling = nodeElem;
+ next_sib = nodeElem->next_sibling;
+ if (next_sib)
+ {
+ next_sib->prev_sibling = nodeElemSibling;
+ }
+ nodeElemSibling->next_sibling = nodeElem->next_sibling;
+ nodeElem->next_sibling = nodeElemSibling;
+
+ return nodeElem;
+}
+
#if 0
/**
@@ -1468,3 +1494,4 @@ axiom_node_get_builder(
}
#endif
+