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="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#107;&#97;&#116;&#104;&#101;&#114;&#105;&#110;&#101;&#64;&#99;&#98;&#102;&#97;&#110;&#99;&#46;&#111;&#114;&#103;&#44;&#119;&#101;&#98;&#115;&#105;&#116;&#101;&#64;&#98;&#105;&#115;&#46;&#100;&#111;&#99;&#46;&#103;&#111;&#118;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#83;&#111;&#117;&#116;&#104;&#32;&#83;&#97;&#110;&#32;&#70;&#114;&#97;&#110;&#99;&#105;&#115;&#99;&#111;&#32;&#66;&#73;&#83;&#32;&#83;&#101;&#109;&#105;&#110;&#97;&#114;&#32;&#45;&#32;&#79;&#99;&#116;&#111;&#98;&#101;&#114;&#32;&#49;&#54;&#116;&#104;"></a><br>

+</body>

+</html>