1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-27 18:50:07 +03:00

fixed bug #132575 about finding the end of the internal subset in push

* parser.c: fixed bug #132575 about finding the end of the
  internal subset in push mode.
* test/intsubset.xml result/intsubset.xml* result/noent/intsubset.xml:
  added the test to the regression suite
Daniel
This commit is contained in:
Daniel Veillard 2004-02-12 11:57:52 +00:00
parent 3671190b54
commit 036143bb53
7 changed files with 57 additions and 0 deletions

View File

@ -1,3 +1,10 @@
Thu Feb 12 12:54:26 CET 2004 Daniel Veillard <daniel@veillard.com>
* parser.c: fixed bug #132575 about finding the end of the
internal subset in push mode.
* test/intsubset.xml result/intsubset.xml* result/noent/intsubset.xml:
added the test to the regression suite
Wed Feb 11 14:19:31 CET 2004 Daniel Veillard <daniel@veillard.com>
* parserInternals.c xmlIO.c encoding.c include/libxml/parser.h

View File

@ -9477,6 +9477,29 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
quote = 0;
continue;
}
if ((quote == 0) && (buf[base] == '<')) {
int found = 0;
/* special handling of comments */
if (((unsigned int) base + 4 <
ctxt->input->buf->buffer->use) &&
(buf[base + 1] == '!') &&
(buf[base + 2] == '-') &&
(buf[base + 3] == '-')) {
for (;(unsigned int) base + 3 <
ctxt->input->buf->buffer->use; base++) {
if ((buf[base] == '-') &&
(buf[base + 1] == '-') &&
(buf[base + 2] == '>')) {
found = 1;
base += 2;
break;
}
}
if (!found)
break;
continue;
}
}
if (buf[base] == '"') {
quote = '"';
continue;

5
result/intsubset.xml Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE root [
<!ELEMENT root EMPTY>
<!-- " -->]>
<root/>

2
result/intsubset.xml.rdr Normal file
View File

@ -0,0 +1,2 @@
0 10 root 0 0
0 1 root 1 0

9
result/intsubset.xml.sax Normal file
View File

@ -0,0 +1,9 @@
SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(root, , )
SAX.elementDecl(root, 1, ...)
SAX.comment( " )
SAX.externalSubset(root, , )
SAX.startElement(root)
SAX.endElement(root)
SAX.endDocument()

View File

@ -0,0 +1,5 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE root [
<!ELEMENT root EMPTY>
<!-- " -->]>
<root/>

6
test/intsubset.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE root [
<!ELEMENT root EMPTY>
<!-- " -->
]>
<root/>