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:
parent
3671190b54
commit
036143bb53
@ -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
|
||||
|
23
parser.c
23
parser.c
@ -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
5
result/intsubset.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<!DOCTYPE root [
|
||||
<!ELEMENT root EMPTY>
|
||||
<!-- " -->]>
|
||||
<root/>
|
2
result/intsubset.xml.rdr
Normal file
2
result/intsubset.xml.rdr
Normal file
@ -0,0 +1,2 @@
|
||||
0 10 root 0 0
|
||||
0 1 root 1 0
|
9
result/intsubset.xml.sax
Normal file
9
result/intsubset.xml.sax
Normal 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()
|
5
result/noent/intsubset.xml
Normal file
5
result/noent/intsubset.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<!DOCTYPE root [
|
||||
<!ELEMENT root EMPTY>
|
||||
<!-- " -->]>
|
||||
<root/>
|
6
test/intsubset.xml
Normal file
6
test/intsubset.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<!DOCTYPE root [
|
||||
<!ELEMENT root EMPTY>
|
||||
<!-- " -->
|
||||
]>
|
||||
<root/>
|
Loading…
x
Reference in New Issue
Block a user