[prev in list] [next in list] [prev in thread] [next in thread] 

List:       graphicsmagick-commit
Subject:    [GM-commit] GraphicsMagick: 2 new changesets
From:       GraphicsMagick Commits <graphicsmagick-commit () lists ! sourceforge ! net>
Date:       2012-06-16 22:35:15
Message-ID: hg.2148b68ac4a8.1339886115.-1602079902 () blade ! simplesystems ! org
[Download RAW message or body]

changeset 2148b68ac4a8 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=2148b68ac4a8
summary: Update libxml2 to release 2.8.0

changeset 5cc5ded323e2 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=5cc5ded323e2
summary: Update ChangeLog to mention update of libxml to 2.8.0 release

diffstat:

 ChangeLog                                        |     2 +
 libxml/HTMLparser.c                              |   133 +-
 libxml/HTMLtree.c                                |    30 +-
 libxml/Makefile.am                               |    18 +-
 libxml/Makefile.in                               |   214 +-
 libxml/README                                    |     2 +-
 libxml/README.tests                              |    15 +-
 libxml/SAX2.c                                    |    67 +-
 libxml/acconfig.h                                |    16 -
 libxml/aclocal.m4                                |    57 +-
 libxml/catalog.c                                 |     2 -
 libxml/config.h.in                               |    49 +-
 libxml/configure                                 |  3640 +++++++++++++--------
 libxml/configure.in                              |   115 +-
 libxml/debugXML.c                                |   163 +-
 libxml/dict.c                                    |   121 +-
 libxml/doc/APIchunk0.html                        |     3 +-
 libxml/doc/APIchunk1.html                        |     2 +-
 libxml/doc/APIchunk10.html                       |     7 +-
 libxml/doc/APIchunk11.html                       |     7 +-
 libxml/doc/APIchunk12.html                       |     6 +-
 libxml/doc/APIchunk13.html                       |     7 +-
 libxml/doc/APIchunk14.html                       |     2 +-
 libxml/doc/APIchunk15.html                       |     2 +-
 libxml/doc/APIchunk16.html                       |     3 +-
 libxml/doc/APIchunk17.html                       |     4 +-
 libxml/doc/APIchunk18.html                       |    12 +-
 libxml/doc/APIchunk19.html                       |     3 +-
 libxml/doc/APIchunk2.html                        |     2 +-
 libxml/doc/APIchunk20.html                       |     5 +-
 libxml/doc/APIchunk21.html                       |     4 +-
 libxml/doc/APIchunk22.html                       |     7 +-
 libxml/doc/APIchunk23.html                       |     3 +-
 libxml/doc/APIchunk24.html                       |    11 +-
 libxml/doc/APIchunk25.html                       |     5 +-
 libxml/doc/APIchunk26.html                       |     4 +-
 libxml/doc/APIchunk27.html                       |     5 +-
 libxml/doc/APIchunk28.html                       |     3 +-
 libxml/doc/APIchunk29.html                       |     3 +-
 libxml/doc/APIchunk3.html                        |     2 +-
 libxml/doc/APIchunk4.html                        |     3 +-
 libxml/doc/APIchunk5.html                        |     5 +-
 libxml/doc/APIchunk6.html                        |     5 +-
 libxml/doc/APIchunk7.html                        |     2 +-
 libxml/doc/APIchunk8.html                        |     3 +-
 libxml/doc/APIchunk9.html                        |     3 +-
 libxml/doc/APIconstructors.html                  |     3 +-
 libxml/doc/APIfiles.html                         |    11 +-
 libxml/doc/APIfunctions.html                     |     5 +-
 libxml/doc/APIsymbols.html                       |    11 +-
 libxml/doc/DOM.html                              |     2 +-
 libxml/doc/FAQ.html                              |     2 +-
 libxml/doc/Makefile.am                           |     2 +-
 libxml/doc/Makefile.in                           |    15 +-
 libxml/doc/XMLinfo.html                          |     2 +-
 libxml/doc/XSLT.html                             |     2 +-
 libxml/doc/apibuild.py                           |     1 +
 libxml/doc/architecture.html                     |     2 +-
 libxml/doc/bugs.html                             |     2 +-
 libxml/doc/catalog.html                          |     2 +-
 libxml/doc/contribs.html                         |     2 +-
 libxml/doc/devhelp/Makefile.in                   |    13 +-
 libxml/doc/devhelp/libxml2-HTMLparser.html       |     3 +-
 libxml/doc/devhelp/libxml2-dict.html             |     7 +-
 libxml/doc/devhelp/libxml2-parser.html           |     4 +-
 libxml/doc/devhelp/libxml2-parserInternals.html  |     2 +-
 libxml/doc/devhelp/libxml2-tree.html             |    15 +-
 libxml/doc/devhelp/libxml2-xmlreader.html        |     9 +-
 libxml/doc/devhelp/libxml2-xmlversion.html       |     5 +
 libxml/doc/devhelp/libxml2-xpath.html            |     2 +
 libxml/doc/devhelp/libxml2.devhelp               |     9 +
 libxml/doc/docs.html                             |     2 +-
 libxml/doc/downloads.html                        |     7 +-
 libxml/doc/encoding.html                         |     2 +-
 libxml/doc/entities.html                         |     2 +-
 libxml/doc/example.html                          |     2 +-
 libxml/doc/examples/Makefile.in                  |   166 +-
 libxml/doc/examples/testWriter.c                 |    10 +-
 libxml/doc/help.html                             |     2 +-
 libxml/doc/html/book1.html                       |     2 +-
 libxml/doc/html/index.html                       |     2 +-
 libxml/doc/html/libxml-DOCBparser.html           |     2 +-
 libxml/doc/html/libxml-HTMLparser.html           |     3 +-
 libxml/doc/html/libxml-HTMLtree.html             |     2 +-
 libxml/doc/html/libxml-SAX.html                  |     2 +-
 libxml/doc/html/libxml-SAX2.html                 |     2 +-
 libxml/doc/html/libxml-c14n.html                 |     2 +-
 libxml/doc/html/libxml-catalog.html              |     2 +-
 libxml/doc/html/libxml-chvalid.html              |     2 +-
 libxml/doc/html/libxml-debugXML.html             |     2 +-
 libxml/doc/html/libxml-dict.html                 |     9 +-
 libxml/doc/html/libxml-encoding.html             |     2 +-
 libxml/doc/html/libxml-entities.html             |     2 +-
 libxml/doc/html/libxml-globals.html              |     2 +-
 libxml/doc/html/libxml-hash.html                 |     2 +-
 libxml/doc/html/libxml-lib.html                  |     2 +-
 libxml/doc/html/libxml-list.html                 |     2 +-
 libxml/doc/html/libxml-nanoftp.html              |     2 +-
 libxml/doc/html/libxml-nanohttp.html             |     2 +-
 libxml/doc/html/libxml-parser.html               |     6 +-
 libxml/doc/html/libxml-parserInternals.html      |     4 +-
 libxml/doc/html/libxml-pattern.html              |     2 +-
 libxml/doc/html/libxml-relaxng.html              |     2 +-
 libxml/doc/html/libxml-schemasInternals.html     |     2 +-
 libxml/doc/html/libxml-schematron.html           |     2 +-
 libxml/doc/html/libxml-threads.html              |     2 +-
 libxml/doc/html/libxml-tree.html                 |    13 +-
 libxml/doc/html/libxml-uri.html                  |     2 +-
 libxml/doc/html/libxml-valid.html                |     2 +-
 libxml/doc/html/libxml-xinclude.html             |     2 +-
 libxml/doc/html/libxml-xlink.html                |     2 +-
 libxml/doc/html/libxml-xmlIO.html                |     2 +-
 libxml/doc/html/libxml-xmlautomata.html          |     2 +-
 libxml/doc/html/libxml-xmlerror.html             |     2 +-
 libxml/doc/html/libxml-xmlexports.html           |     2 +-
 libxml/doc/html/libxml-xmlmemory.html            |     2 +-
 libxml/doc/html/libxml-xmlmodule.html            |     2 +-
 libxml/doc/html/libxml-xmlreader.html            |     9 +-
 libxml/doc/html/libxml-xmlregexp.html            |     2 +-
 libxml/doc/html/libxml-xmlsave.html              |     2 +-
 libxml/doc/html/libxml-xmlschemas.html           |     2 +-
 libxml/doc/html/libxml-xmlschemastypes.html      |     2 +-
 libxml/doc/html/libxml-xmlstring.html            |     2 +-
 libxml/doc/html/libxml-xmlunicode.html           |     2 +-
 libxml/doc/html/libxml-xmlversion.html           |     3 +-
 libxml/doc/html/libxml-xmlwriter.html            |     2 +-
 libxml/doc/html/libxml-xpath.html                |     4 +-
 libxml/doc/html/libxml-xpathInternals.html       |     2 +-
 libxml/doc/html/libxml-xpointer.html             |     2 +-
 libxml/doc/html/libxml-xzlib.html                |    16 +
 libxml/doc/index.html                            |     2 +-
 libxml/doc/interface.html                        |     2 +-
 libxml/doc/intro.html                            |     2 +-
 libxml/doc/library.html                          |     2 +-
 libxml/doc/libxml2-api.xml                       |    66 +-
 libxml/doc/libxml2.xsa                           |    84 +-
 libxml/doc/namespaces.html                       |     2 +-
 libxml/doc/news.html                             |   143 +-
 libxml/doc/python.html                           |     7 +-
 libxml/doc/site.xsl                              |     2 +-
 libxml/doc/symbols.xml                           |     5 +
 libxml/doc/threads.html                          |     7 +-
 libxml/doc/tree.html                             |     2 +-
 libxml/doc/upgrade.html                          |     2 +-
 libxml/doc/xml.html                              |   157 +-
 libxml/doc/xmlcatalog.1                          |   297 +-
 libxml/doc/xmlcatalog_man.html                   |    10 +-
 libxml/doc/xmlcatalog_man.xml                    |     4 +
 libxml/doc/xmldtd.html                           |     2 +-
 libxml/doc/xmlio.html                            |     2 +-
 libxml/doc/xmlmem.html                           |     2 +-
 libxml/encoding.c                                |    24 +-
 libxml/error.c                                   |    38 +-
 libxml/example/Makefile.in                       |    58 +-
 libxml/hash.c                                    |    30 +-
 libxml/include/Makefile.in                       |    13 +-
 libxml/include/libxml/HTMLparser.h               |     3 +-
 libxml/include/libxml/Makefile.in                |    13 +-
 libxml/include/libxml/dict.h                     |    15 +-
 libxml/include/libxml/nanoftp.h                  |     3 +-
 libxml/include/libxml/parser.h                   |     8 +-
 libxml/include/libxml/tree.h                     |     5 +-
 libxml/include/libxml/xmlexports.h               |     2 +-
 libxml/include/libxml/xmlreader.h                |     5 +
 libxml/include/libxml/xmlversion.h               |   957 ++--
 libxml/include/libxml/xmlversion.h.in            |     9 +
 libxml/include/libxml/xpath.h                    |     5 +-
 libxml/include/wsockcompat.h                     |     7 +-
 libxml/libxml.h                                  |    11 +-
 libxml/libxml.spec.in                            |     3 +-
 libxml/libxml2.spec                              |     9 +-
 libxml/libxml2.syms                              |    13 +
 libxml/ltmain.sh                                 |  2381 +++++++++----
 libxml/m4/libtool.m4                             |  1072 ++++--
 libxml/m4/ltversion.m4                           |    12 +-
 libxml/nanoftp.c                                 |     3 +-
 libxml/nanohttp.c                                |    32 +-
 libxml/parser.c                                  |    97 +-
 libxml/parserInternals.c                         |    15 +-
 libxml/pattern.c                                 |     6 +-
 libxml/python/Makefile.am                        |     2 +-
 libxml/python/Makefile.in                        |    70 +-
 libxml/python/libxml.c                           |     7 +-
 libxml/python/setup.py                           |     2 +-
 libxml/python/tests/Makefile.in                  |    13 +-
 libxml/python/tests/serialize.py                 |     4 +-
 libxml/relaxng.c                                 |    37 +-
 libxml/result/HTML/html5_enc.html                |     7 +
 libxml/result/HTML/html5_enc.html.sax            |    30 +
 libxml/result/HTML/noscript.html                 |    10 +
 libxml/result/HTML/noscript.html.sax             |    38 +
 libxml/result/namespaces/err_7.xml               |     2 +-
 libxml/result/schemas/complex-type-extension_0_0 |     1 +
 libxml/result/valid/xlink.xml.err                |     4 +-
 libxml/result/xmlid/id_tst2.xml                  |     2 +-
 libxml/result/xmlid/id_tst3.xml                  |     2 +-
 libxml/runsuite.c                                |     7 +-
 libxml/runtest.c                                 |     3 +
 libxml/runxmlconf.c                              |     7 +-
 libxml/test/HTML/html5_enc.html                  |     8 +
 libxml/test/HTML/noscript.html                   |    10 +
 libxml/test/schemas/complex-type-extension_0.xml |    12 +
 libxml/test/schemas/complex-type-extension_0.xsd |    27 +
 libxml/testC14N.c                                |    10 +-
 libxml/testThreads.c                             |     6 +-
 libxml/testapi.c                                 |   122 +-
 libxml/testrecurse.c                             |     3 +
 libxml/tree.c                                    |   236 +-
 libxml/uri.c                                     |    11 +-
 libxml/valid.c                                   |     7 +
 libxml/win32/Makefile.mingw                      |    14 +-
 libxml/win32/Makefile.msvc                       |    20 +-
 libxml/win32/VC10/README.vc10                    |    27 +
 libxml/win32/VC10/RuleSet1.ruleset               |     3 +
 libxml/win32/VC10/config.h                       |   125 +
 libxml/win32/VC10/libxml2-focus.vcxproj          |   184 +
 libxml/win32/VC10/libxml2.sln                    |    49 +
 libxml/win32/VC10/libxml2.vcxproj                |   136 +
 libxml/win32/VC10/libxml2.vcxproj.filters        |   171 +
 libxml/win32/VC10/runsuite.vcxproj               |    85 +
 libxml/win32/VC10/runsuite.vcxproj.filters       |    22 +
 libxml/win32/configure.js                        |    14 +-
 libxml/xinclude.c                                |    21 +-
 libxml/xmlIO.c                                   |   126 +
 libxml/xmllint.c                                 |    30 +-
 libxml/xmlmemory.c                               |    11 +-
 libxml/xmlreader.c                               |   203 +-
 libxml/xmlregexp.c                               |     3 +
 libxml/xmlsave.c                                 |     4 +-
 libxml/xmlschemas.c                              |    13 +-
 libxml/xmlschemastypes.c                         |     8 +-
 libxml/xpath.c                                   |   109 +-
 libxml/xpointer.c                                |    16 +-
 libxml/xstc/Makefile.in                          |    13 +-
 libxml/xzlib.c                                   |   755 ++++
 libxml/xzlib.h                                   |    18 +
 www/Changelog.html                               |     1 +
 237 files changed, 9715 insertions(+), 4071 deletions(-)

diffs (truncated from 24449 to 300 lines):

diff -r 119d7ba2a373 -r 5cc5ded323e2 ChangeLog
--- a/ChangeLog	Sat Jun 16 15:53:02 2012 -0500
+++ b/ChangeLog	Sat Jun 16 17:35:05 2012 -0500
@@ -1,5 +1,7 @@
 2012-06-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
 
+	* libxml: Updated libxml to 2.8.0 release.
+
 	* zlib: Updated zlib to 1.2.7 release.
 
 	* magick/blob.c (MagickFileHandle): Refer to stdio, bzip2, and
diff -r 119d7ba2a373 -r 5cc5ded323e2 libxml/HTMLparser.c
--- a/libxml/HTMLparser.c	Sat Jun 16 15:53:02 2012 -0500
+++ b/libxml/HTMLparser.c	Sat Jun 16 17:35:05 2012 -0500
@@ -727,7 +727,7 @@
 static const char* const name_attr[] = { "name", NULL } ;
 static const char* const action_attr[] = { "action", NULL } ;
 static const char* const blockli_elt[] = { BLOCK, "li", NULL } ;
-static const char* const meta_attrs[] = { I18N, "http-equiv", "name", "scheme", NULL } ;
+static const char* const meta_attrs[] = { I18N, "http-equiv", "name", "scheme", "charset", NULL } ;
 static const char* const content_attr[] = { "content", NULL } ;
 static const char* const type_attr[] = { "type", NULL } ;
 static const char* const noframes_content[] = { "body", FLOW MODIFIER, NULL } ;
@@ -1080,7 +1080,7 @@
 "menu",		"p", "head", "ul", NULL,
 "p",		"p", "head", "h1", "h2", "h3", "h4", "h5", "h6", FONTSTYLE, NULL,
 "div",		"p", "head", NULL,
-"noscript",	"p", "head", NULL,
+"noscript",	"p", NULL,
 "center",	"font", "b", "i", "p", "head", NULL,
 "a",		"a", NULL,
 "caption",	"p", NULL,
@@ -3435,34 +3435,26 @@
 }
 
 /**
- * htmlCheckEncoding:
+ * htmlCheckEncodingDirect:
  * @ctxt:  an HTML parser context
  * @attvalue: the attribute value
  *
- * Checks an http-equiv attribute from a Meta tag to detect
+ * Checks an attribute value to detect
  * the encoding
  * If a new encoding is detected the parser is switched to decode
  * it and pass UTF8
  */
 static void
-htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
-    const xmlChar *encoding;
-
-    if ((ctxt == NULL) || (attvalue == NULL))
+htmlCheckEncodingDirect(htmlParserCtxtPtr ctxt, const xmlChar *encoding) {
+
+    if ((ctxt == NULL) || (encoding == NULL) ||
+        (ctxt->options & HTML_PARSE_IGNORE_ENC))
 	return;
 
     /* do not change encoding */
     if (ctxt->input->encoding != NULL)
         return;
 
-    encoding = xmlStrcasestr(attvalue, BAD_CAST"charset=");
-    if (encoding != NULL) {
-	encoding += 8;
-    } else {
-	encoding = xmlStrcasestr(attvalue, BAD_CAST"charset =");
-	if (encoding != NULL)
-	    encoding += 9;
-    }
     if (encoding != NULL) {
 	xmlCharEncoding enc;
 	xmlCharEncodingHandlerPtr handler;
@@ -3500,7 +3492,9 @@
 		xmlSwitchToEncoding(ctxt, handler);
 		ctxt->charset = XML_CHAR_ENCODING_UTF8;
 	    } else {
-		ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING;
+		htmlParseErr(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
+		             "htmlCheckEncoding: unknown encoding %s\n",
+			     encoding, NULL);
 	    }
 	}
 
@@ -3533,6 +3527,38 @@
 }
 
 /**
+ * htmlCheckEncoding:
+ * @ctxt:  an HTML parser context
+ * @attvalue: the attribute value
+ *
+ * Checks an http-equiv attribute from a Meta tag to detect
+ * the encoding
+ * If a new encoding is detected the parser is switched to decode
+ * it and pass UTF8
+ */
+static void
+htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
+    const xmlChar *encoding;
+
+    if (!attvalue)
+	return;
+
+    encoding = xmlStrcasestr(attvalue, BAD_CAST"charset");
+    if (encoding != NULL) {
+	encoding += 7;
+    }
+    /*
+     * skip blank
+     */
+    if (encoding && IS_BLANK_CH(*encoding))
+	encoding = xmlStrcasestr(attvalue, BAD_CAST"=");
+    if (encoding && *encoding == '=') {
+	encoding ++;
+	htmlCheckEncodingDirect(ctxt, encoding);
+    }
+}
+
+/**
  * htmlCheckMeta:
  * @ctxt:  an HTML parser context
  * @atts:  the attributes values
@@ -3556,6 +3582,8 @@
 	if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"http-equiv"))
 	 && (!xmlStrcasecmp(value, BAD_CAST"Content-Type")))
 	    http = 1;
+	else if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"charset")))
+	    htmlCheckEncodingDirect(ctxt, value);
 	else if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"content")))
 	    content = value;
 	att = atts[i++];
@@ -3885,6 +3913,7 @@
     if ((oldname != NULL) && (xmlStrEqual(oldname, name))) {
         if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
             ctxt->sax->endElement(ctxt->userData, name);
+	htmlNodeInfoPop(ctxt);
         htmlnamePop(ctxt);
         ret = 1;
     } else {
@@ -5173,6 +5202,8 @@
     int avail = 0;
     xmlChar cur, next;
 
+    htmlParserNodeInfo node_info;
+
 #ifdef DEBUG_PUSH
     switch (ctxt->instate) {
 	case XML_PARSER_EOF:
@@ -5312,10 +5343,23 @@
 		    avail = in->length - (in->cur - in->base);
 		else
 		    avail = in->buf->buffer->use - (in->cur - in->base);
-		if (avail < 2)
+		/*
+		 * no chars in buffer
+		 */
+		if (avail < 1)
 		    goto done;
+		/*
+		 * not enouth chars in buffer
+		 */
+		if (avail < 2) {
+		    if (!terminate)
+			goto done;
+		    else
+			next = ' ';
+		} else {
+		    next = in->cur[1];
+		}
 		cur = in->cur[0];
-		next = in->cur[1];
 	        if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
 		    if ((!terminate) &&
@@ -5465,8 +5509,22 @@
 		int failed;
 		const htmlElemDesc * info;
 
-		if (avail < 2)
+		/*
+		 * no chars in buffer
+		 */
+		if (avail < 1)
 		    goto done;
+		/*
+		 * not enouth chars in buffer
+		 */
+		if (avail < 2) {
+		    if (!terminate)
+			goto done;
+		    else
+			next = ' ';
+		} else {
+		    next = in->cur[1];
+		}
 		cur = in->cur[0];
 	        if (cur != '<') {
 		    ctxt->instate = XML_PARSER_CONTENT;
@@ -5476,7 +5534,7 @@
 #endif
 		    break;
 		}
-		if (in->cur[1] == '/') {
+		if (next == '/') {
 		    ctxt->instate = XML_PARSER_END_TAG;
 		    ctxt->checkIndex = 0;
 #ifdef DEBUG_PUSH
@@ -5489,6 +5547,14 @@
 		    (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
 		    goto done;
 
+                /* Capture start position */
+	        if (ctxt->record_info) {
+	             node_info.begin_pos = ctxt->input->consumed +
+	                                (CUR_PTR - ctxt->input->base);
+	             node_info.begin_line = ctxt->input->line;
+	        }
+
+
 		failed = htmlParseStartTag(ctxt);
 		name = ctxt->name;
 		if ((failed == -1) ||
@@ -5538,6 +5604,9 @@
 			htmlnamePop(ctxt);
 		    }
 
+		    if (ctxt->record_info)
+		        htmlNodeInfoPush(ctxt, &node_info);
+
 		    ctxt->instate = XML_PARSER_CONTENT;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
@@ -5554,6 +5623,10 @@
 			ctxt->sax->endElement(ctxt->userData, name);
 		    htmlnamePop(ctxt);
 		}
+
+                if (ctxt->record_info)
+	            htmlNodeInfoPush(ctxt, &node_info);
+
 		ctxt->instate = XML_PARSER_CONTENT;
 #ifdef DEBUG_PUSH
 		xmlGenericError(xmlGenericErrorContext,
@@ -6537,6 +6610,14 @@
 	ctxt->options |= HTML_PARSE_NODEFDTD;
         options -= HTML_PARSE_NODEFDTD;
     }
+    if (options & HTML_PARSE_IGNORE_ENC) {
+	ctxt->options |= HTML_PARSE_IGNORE_ENC;
+        options -= HTML_PARSE_IGNORE_ENC;
+    }
+    if (options & HTML_PARSE_NOIMPLIED) {
+        ctxt->options |= HTML_PARSE_NOIMPLIED;
+        options -= HTML_PARSE_NOIMPLIED;
+    }
     ctxt->dictNames = 0;
     return (options);
 }
@@ -6730,8 +6811,11 @@
 
     input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
                                          XML_CHAR_ENCODING_NONE);
-    if (input == NULL)
+    if (input == NULL) {
+        if (ioclose != NULL)
+            ioclose(ioctx);
         return (NULL);
+    }
     ctxt = htmlNewParserCtxt();
     if (ctxt == NULL) {
         xmlFreeParserInputBuffer(input);
@@ -6930,8 +7014,11 @@
 
     input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
                                          XML_CHAR_ENCODING_NONE);
-    if (input == NULL)
+    if (input == NULL) {
+        if (ioclose != NULL)
+            ioclose(ioctx);
         return (NULL);
+    }
     stream = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
     if (stream == NULL) {
         xmlFreeParserInputBuffer(input);
diff -r 119d7ba2a373 -r 5cc5ded323e2 libxml/HTMLtree.c
--- a/libxml/HTMLtree.c	Sat Jun 16 15:53:02 2012 -0500
+++ b/libxml/HTMLtree.c	Sat Jun 16 17:35:05 2012 -0500
@@ -151,7 +151,7 @@
  * htmlSetMetaEncoding:
  * @doc:  the document
  * @encoding:  the encoding string
- * 
+ *
  * Sets the current encoding in the Meta tags
  * NOTE: this will not change the document content encoding, just
  * the META flag associated.
@@ -164,6 +164,7 @@
     const xmlChar *content = NULL;
     char newcontent[100];

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Graphicsmagick-commit mailing list
Graphicsmagick-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/graphicsmagick-commit
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic