mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-24 21:33:51 +03:00
applied UTF-8 script parsing bug #310229 fix from Jiri Netolicky added the
* HTMLparser.c: applied UTF-8 script parsing bug #310229 fix from Jiri Netolicky * result/HTML/script2.html* test/HTML/script2.html: added the test case from the regression suite Daniel
This commit is contained in:
parent
744acfffe5
commit
358fef4b1e
@ -1,3 +1,10 @@
|
||||
Wed Jul 13 18:35:47 CEST 2005 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* HTMLparser.c: applied UTF-8 script parsing bug #310229 fix from
|
||||
Jiri Netolicky
|
||||
* result/HTML/script2.html* test/HTML/script2.html: added the test
|
||||
case from the regression suite
|
||||
|
||||
Tue Jul 12 17:08:11 CEST 2005 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* nanohttp.c: fixed bug #310105 with http_proxy environments with
|
||||
|
12
HTMLparser.c
12
HTMLparser.c
@ -2629,10 +2629,10 @@ static void
|
||||
htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 1];
|
||||
int nbchar = 0;
|
||||
xmlChar cur;
|
||||
int cur,l;
|
||||
|
||||
SHRINK;
|
||||
cur = CUR;
|
||||
cur = CUR_CHAR(l);
|
||||
while (IS_CHAR_CH(cur)) {
|
||||
if ((cur == '<') && (NXT(1) == '!') && (NXT(2) == '-') &&
|
||||
(NXT(3) == '-')) {
|
||||
@ -2648,7 +2648,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
}
|
||||
nbchar = 0;
|
||||
htmlParseComment(ctxt);
|
||||
cur = CUR;
|
||||
cur = CUR_CHAR(l);
|
||||
continue;
|
||||
} else if ((cur == '<') && (NXT(1) == '/')) {
|
||||
/*
|
||||
@ -2661,7 +2661,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
((NXT(2) >= 'a') && (NXT(2) <= 'z')))
|
||||
break; /* while */
|
||||
}
|
||||
buf[nbchar++] = cur;
|
||||
COPY_BUF(l,buf,nbchar,cur);
|
||||
if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) {
|
||||
if (ctxt->sax->cdataBlock!= NULL) {
|
||||
/*
|
||||
@ -2673,8 +2673,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
}
|
||||
nbchar = 0;
|
||||
}
|
||||
NEXT;
|
||||
cur = CUR;
|
||||
NEXTL(l);
|
||||
cur = CUR_CHAR(l);
|
||||
}
|
||||
if (!(IS_CHAR_CH(cur))) {
|
||||
htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
|
||||
|
14
result/HTML/script2.html
Normal file
14
result/HTML/script2.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Test Page</title>
|
||||
</head>
|
||||
<body><div id="portal">
|
||||
<script type="text/javascript">
|
||||
documen.write("Příliš žluťoučký kůň úpěl ďábelksé ódy");
|
||||
</script><p>
|
||||
Příliš žluťoučký kůň úpěl ďábelksé ódy;
|
||||
</p>
|
||||
</div></body>
|
||||
</html>
|
0
result/HTML/script2.html.err
Normal file
0
result/HTML/script2.html.err
Normal file
50
result/HTML/script2.html.sax
Normal file
50
result/HTML/script2.html.sax
Normal file
@ -0,0 +1,50 @@
|
||||
SAX.setDocumentLocator()
|
||||
SAX.startDocument()
|
||||
SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
|
||||
SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml')
|
||||
SAX.ignorableWhitespace(
|
||||
, 2)
|
||||
SAX.startElement(head)
|
||||
SAX.ignorableWhitespace(
|
||||
, 3)
|
||||
SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=UTF-8')
|
||||
SAX.endElement(meta)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.startElement(title)
|
||||
SAX.characters(Test Page, 9)
|
||||
SAX.endElement(title)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.endElement(head)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.startElement(body)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.startElement(div, id='portal')
|
||||
SAX.characters(
|
||||
, 1)
|
||||
SAX.startElement(script, type='text/javascript')
|
||||
SAX.cdata(
|
||||
documen.write("Př, 74)
|
||||
SAX.endElement(script)
|
||||
SAX.characters(
|
||||
, 2)
|
||||
SAX.startElement(p)
|
||||
SAX.characters(
|
||||
Příliš , 58)
|
||||
SAX.endElement(p)
|
||||
SAX.characters(
|
||||
, 1)
|
||||
SAX.endElement(div)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.endElement(body)
|
||||
SAX.ignorableWhitespace(
|
||||
, 1)
|
||||
SAX.endElement(html)
|
||||
SAX.ignorableWhitespace(
|
||||
|
||||
, 2)
|
||||
SAX.endDocument()
|
19
test/HTML/script2.html
Normal file
19
test/HTML/script2.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Test Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="portal">
|
||||
<script type="text/javascript">
|
||||
documen.write("Příliš žluťoučký kůň úpěl ďábelksé ódy");
|
||||
</script>
|
||||
<p>
|
||||
Příliš žluťoučký kůň úpěl ďábelksé ódy;
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user