fixed another couple of xmlreader bugs reported by Stéphane Bidoul and
* xmlreader.c python/tests/reader.py: fixed another couple of
xmlreader bugs reported by Stéphane Bidoul and added tests.
Daniel
diff --git a/xmlreader.c b/xmlreader.c
index fea78cb..1d65df6 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -395,8 +395,9 @@
oldstate = reader->state;
olddepth = reader->ctxt->nodeNr;
oldnode = reader->node;
- wasempty = ((reader->wasempty == 1) && (reader->ctxt->node != NULL) &&
- (reader->ctxt->node->last == reader->node));
+ wasempty = (((reader->wasempty == 1) && (reader->ctxt->node != NULL) &&
+ (reader->ctxt->node->last == reader->node)) ||
+ (reader->node != reader->ctxt->node));
/*
* If we are not backtracking on ancestors or examined nodes,
@@ -1443,6 +1444,8 @@
return(-1);
if (reader->node->type != XML_ELEMENT_NODE)
return(0);
+ if (reader->curnode != NULL)
+ return(0);
if (reader->node->children != NULL)
return(0);
if (reader->node != reader->ctxt->node)