Mikhail Sogrine pointed out a bug in HTML parsing, applied his patch added
* HTMLparser.c: Mikhail Sogrine pointed out a bug in HTML
parsing, applied his patch
* result/HTML/attrents.html result/HTML/attrents.html.err
result/HTML/attrents.html.sax test/HTML/attrents.html:
added the test and result case provided by Mikhail Sogrine
Daniel
diff --git a/ChangeLog b/ChangeLog
index 6612c39..a63d38a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Oct 22 21:13:06 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+ * HTMLparser.c: Mikhail Sogrine pointed out a bug in HTML
+ parsing, applied his patch
+ * result/HTML/attrents.html result/HTML/attrents.html.err
+ result/HTML/attrents.html.sax test/HTML/attrents.html:
+ added the test and result case provided by Mikhail Sogrine
+
Tue Oct 22 19:33:20 CEST 2002 Daniel Veillard <daniel@veillard.com>
* vms/build_libxml.com vms/config.vms vms/readme.vms
diff --git a/HTMLparser.c b/HTMLparser.c
index e4a5226..dad6402 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -1946,6 +1946,13 @@
for ( ; bits >= 0; bits-= 6) {
*out++ = ((c >> bits) & 0x3F) | 0x80;
}
+
+ if (out - buffer > buffer_size - 100) {
+ int indx = out - buffer;
+
+ growBuffer(buffer);
+ out = &buffer[indx];
+ }
} else {
ent = htmlParseEntityRef(ctxt, &name);
if (name == NULL) {
diff --git a/result/HTML/attrents.html b/result/HTML/attrents.html
new file mode 100644
index 0000000..205430a
--- /dev/null
+++ b/result/HTML/attrents.html
@@ -0,0 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html><body bgcolor="#FFFFFF">
+<a href="mailto:katherine@cbfanc.org%2Cwebsite@bis.doc.gov?subject=South%20San%20Francisco%20BIS%20Seminar%20-%20October%2016th"></a><br>
+</body></html>
diff --git a/result/HTML/attrents.html.err b/result/HTML/attrents.html.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/HTML/attrents.html.err
diff --git a/result/HTML/attrents.html.sax b/result/HTML/attrents.html.sax
new file mode 100644
index 0000000..976bbbe
--- /dev/null
+++ b/result/HTML/attrents.html.sax
@@ -0,0 +1,21 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.ignorableWhitespace(
+, 2)
+SAX.startElement(body, bgcolor='#FFFFFF')
+SAX.ignorableWhitespace(
+ , 18)
+SAX.startElement(a, href='mailto:katherine@cbfanc.org,website@bis.doc.gov?subject=South San Francisco BIS Seminar - October 16th')
+SAX.endElement(a)
+SAX.startElement(br)
+SAX.endElement(br)
+SAX.ignorableWhitespace(
+, 2)
+SAX.endElement(body)
+SAX.ignorableWhitespace(
+, 2)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 2)
+SAX.endDocument()
diff --git a/test/HTML/attrents.html b/test/HTML/attrents.html
new file mode 100644
index 0000000..8486ec0
--- /dev/null
+++ b/test/HTML/attrents.html
@@ -0,0 +1,5 @@
+<html>
+<body bgcolor="#FFFFFF">
+ <a href="mailto:katherine@cbfanc.org,website@bis.doc.gov?subject=South San Francisco BIS Seminar - October 16th"></a><br>
+</body>
+</html>