summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2007-06-12 14:44:32 +0000
committerDaniel Veillard <veillard@src.gnome.org>2007-06-12 14:44:32 +0000
commitdfac946c3da3ffdc03d80658d6950dfd80da907a (patch)
tree9d5fd2f586f6d02ac25551e7147ba1260fc4cc72
parentb9e5acc490bb9b7bdea7fd6c382b02e60047135b (diff)
downloadlibxml2-dfac946c3da3ffdc03d80658d6950dfd80da907a.tar.gz
fixed the push mode when a big comment occurs before an internal subset,
* parser.c: fixed the push mode when a big comment occurs before an internal subset, should close bug #438835 * test/comment6.xml result//comment6.xml*: added a special test in the regression suite Daniel svn path=/trunk/; revision=3635
-rw-r--r--ChangeLog7
-rw-r--r--parser.c1
-rw-r--r--result/comment6.xml14
-rw-r--r--result/comment6.xml.rde11
-rw-r--r--result/comment6.xml.rdr11
-rw-r--r--result/comment6.xml.sax17
-rw-r--r--result/comment6.xml.sax217
-rw-r--r--result/noent/comment6.xml14
-rw-r--r--test/comment6.xml13
9 files changed, 105 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3bd2807d..da086169 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Jun 12 16:42:14 CEST 2007 Daniel Veillard <daniel@veillard.com>
+
+ * parser.c: fixed the push mode when a big comment occurs before
+ an internal subset, should close bug #438835
+ * test/comment6.xml result//comment6.xml*: added a special
+ test in the regression suite
+
Tue Jun 12 15:41:09 CEST 2007 Daniel Veillard <daniel@veillard.com>
* parser.c: fix bug #414846 where invalid characters in attributes
diff --git a/parser.c b/parser.c
index d79e0b04..e095ab88 100644
--- a/parser.c
+++ b/parser.c
@@ -10153,6 +10153,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
#endif
xmlParseComment(ctxt);
ctxt->instate = XML_PARSER_MISC;
+ ctxt->checkIndex = 0;
} else if ((cur == '<') && (next == '!') &&
(ctxt->input->cur[2] == 'D') &&
(ctxt->input->cur[3] == 'O') &&
diff --git a/result/comment6.xml b/result/comment6.xml
new file mode 100644
index 00000000..3e6074ef
--- /dev/null
+++ b/result/comment6.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!--
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+-->
+<!DOCTYPE a [
+<!ELEMENT a EMPTY>
+]>
+<a/>
diff --git a/result/comment6.xml.rde b/result/comment6.xml.rde
new file mode 100644
index 00000000..e877c3e4
--- /dev/null
+++ b/result/comment6.xml.rde
@@ -0,0 +1,11 @@
+0 8 #comment 0 1
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+
+0 10 a 0 0
+0 1 a 1 0
diff --git a/result/comment6.xml.rdr b/result/comment6.xml.rdr
new file mode 100644
index 00000000..e877c3e4
--- /dev/null
+++ b/result/comment6.xml.rdr
@@ -0,0 +1,11 @@
+0 8 #comment 0 1
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+
+0 10 a 0 0
+0 1 a 1 0
diff --git a/result/comment6.xml.sax b/result/comment6.xml.sax
new file mode 100644
index 00000000..53fea219
--- /dev/null
+++ b/result/comment6.xml.sax
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment(
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+)
+SAX.internalSubset(a, , )
+SAX.elementDecl(a, 1, ...)
+SAX.externalSubset(a, , )
+SAX.startElement(a)
+SAX.endElement(a)
+SAX.endDocument()
diff --git a/result/comment6.xml.sax2 b/result/comment6.xml.sax2
new file mode 100644
index 00000000..7dd7dc08
--- /dev/null
+++ b/result/comment6.xml.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment(
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+)
+SAX.internalSubset(a, , )
+SAX.elementDecl(a, 1, ...)
+SAX.externalSubset(a, , )
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment6.xml b/result/noent/comment6.xml
new file mode 100644
index 00000000..3e6074ef
--- /dev/null
+++ b/result/noent/comment6.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!--
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+-->
+<!DOCTYPE a [
+<!ELEMENT a EMPTY>
+]>
+<a/>
diff --git a/test/comment6.xml b/test/comment6.xml
new file mode 100644
index 00000000..014500bc
--- /dev/null
+++ b/test/comment6.xml
@@ -0,0 +1,13 @@
+<!--
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+-->
+<!DOCTYPE a [
+<!ELEMENT a EMPTY>
+]>
+<a/>