diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2007-06-12 14:44:32 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2007-06-12 14:44:32 +0000 |
commit | dfac946c3da3ffdc03d80658d6950dfd80da907a (patch) | |
tree | 9d5fd2f586f6d02ac25551e7147ba1260fc4cc72 | |
parent | b9e5acc490bb9b7bdea7fd6c382b02e60047135b (diff) | |
download | libxml2-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-- | ChangeLog | 7 | ||||
-rw-r--r-- | parser.c | 1 | ||||
-rw-r--r-- | result/comment6.xml | 14 | ||||
-rw-r--r-- | result/comment6.xml.rde | 11 | ||||
-rw-r--r-- | result/comment6.xml.rdr | 11 | ||||
-rw-r--r-- | result/comment6.xml.sax | 17 | ||||
-rw-r--r-- | result/comment6.xml.sax2 | 17 | ||||
-rw-r--r-- | result/noent/comment6.xml | 14 | ||||
-rw-r--r-- | test/comment6.xml | 13 |
9 files changed, 105 insertions, 0 deletions
@@ -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 @@ -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/>
|