summaryrefslogtreecommitdiffstats
path: root/axiom
diff options
context:
space:
mode:
authorGravatar shankar2010-04-06 04:29:40 +0000
committerGravatar shankar2010-04-06 04:29:40 +0000
commit8cae03c973a74f21d6d5a69d89498bfd781d3572 (patch)
tree0408308bfa6f1c27fbdd34fb56cf2996c8d8e6df /axiom
parent9719eff91e5fc7382d3ae42dd50580c638f63b93 (diff)
downloadaxis2c-8cae03c973a74f21d6d5a69d89498bfd781d3572.tar.gz
axis2c-8cae03c973a74f21d6d5a69d89498bfd781d3572.tar.bz2
Fixing invalid error loggings
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@931009 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'axiom')
-rw-r--r--axiom/src/om/om_node.c12
-rw-r--r--axiom/src/soap/soap_builder.c5
2 files changed, 14 insertions, 3 deletions
diff --git a/axiom/src/om/om_node.c b/axiom/src/om/om_node.c
index 50aac77..d32949c 100644
--- a/axiom/src/om/om_node.c
+++ b/axiom/src/om/om_node.c
@@ -1139,8 +1139,16 @@ axiom_node_get_next_sibling(
return NULL;
}
- while(!(om_node->next_sibling) && om_node->parent && om_node->builder
- && !(axiom_node_is_complete(om_node->parent, env)))
+ /* we have to build the tree using stax builder if
+ * (1) om_node's next_sibling is not given (if available, we can just return that)
+ * (2) om_node is having a parent (otherwise, no concept of sibling)
+ * (3) om_node is having a stax builder (otherwise, it is a programatically built node)
+ * (4) parent is having a stax builder (otherwise, om_node is the only child,
+ * or sibling is programatically created)
+ * (5) parent is not yet fully built
+ */
+ while((!om_node->next_sibling) && om_node->parent && om_node->parent->builder
+ && om_node->builder && (!axiom_node_is_complete(om_node->parent, env)))
{
token = axiom_stax_builder_next_with_token(om_node->builder, env);
if(token == -1)
diff --git a/axiom/src/soap/soap_builder.c b/axiom/src/soap/soap_builder.c
index f8236ad..2496506 100644
--- a/axiom/src/soap/soap_builder.c
+++ b/axiom/src/soap/soap_builder.c
@@ -315,7 +315,10 @@ axiom_soap_builder_next(
int current_event = AXIS2_MAX_EVENT;
int status = AXIS2_SUCCESS;
- if((!soap_builder) || (soap_builder->done) || (!soap_builder->om_builder))
+ AXIS2_ASSERT(soap_builder != NULL);
+ AXIS2_ASSERT(soap_builder->om_builder != NULL);
+
+ if(soap_builder->done)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid soap builder");
return AXIS2_FAILURE;