From 48ef4c98d226ef792da8aae26d3c73f090a7e49e Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Sat, 22 Mar 2003 12:38:15 +0000 Subject: [PATCH] fixed bug #108801 reported by Malcolm Tredinnick about the DocType node * xmlreader.c: fixed bug #108801 reported by Malcolm Tredinnick about the DocType node not being reported sometimes. * python/tests/reader.py: added to test to the regression checks Daniel --- ChangeLog | 6 ++++++ python/tests/reader.py | 25 +++++++++++++++++++++++++ xmlreader.c | 6 +++++- 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4846730a..f98f5f14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Mar 22 13:32:39 CET 2003 Daniel Veillard + + * xmlreader.c: fixed bug #108801 reported by Malcolm Tredinnick + about the DocType node not being reported sometimes. + * python/tests/reader.py: added to test to the regression checks + Sat Mar 22 01:57:40 CET 2003 Daniel Veillard * xmlreader.c: fixed bug #108546 on long CDATA (or text nodes) diff --git a/python/tests/reader.py b/python/tests/reader.py index e9671718..c50adeba 100755 --- a/python/tests/reader.py +++ b/python/tests/reader.py @@ -399,6 +399,31 @@ if res != expect: print res sys.exit(1) +# +# test from bug #108801 +# +doc=""" + + +
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +
+""" +expect="""10 (article) [None] 0 0 +1 (article) [None] 0 0 +3 (#text) [ +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +] 0 1 +15 (article) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print "test15 failed" + print res + sys.exit(1) + # # cleanup for memory allocation counting # diff --git a/xmlreader.c b/xmlreader.c index 9aa1ebee..8621c701 100644 --- a/xmlreader.c +++ b/xmlreader.c @@ -598,7 +598,11 @@ xmlTextReaderRead(xmlTextReaderPtr reader) { return(-1); reader->state = XML_TEXTREADER_ELEMENT; } else { - reader->node = reader->ctxt->nodeTab[0]; + if (reader->ctxt->myDoc != NULL) { + reader->node = reader->ctxt->myDoc->children; + } + if (reader->node == NULL) + reader->node = reader->ctxt->nodeTab[0]; reader->state = XML_TEXTREADER_ELEMENT; } reader->depth = 0;