From cdf8c0a11b8c74a997f4b0598415ac1ca3565c53 Mon Sep 17 00:00:00 2001
From: Oleg Korshul
Date: Fri, 14 Apr 2017 19:03:02 +0300
Subject: [PATCH] update libxml (for sec)
---
DesktopEditor/xml/build/qt/libxml2_all.c | 4 +-
DesktopEditor/xml/libxml2/ChangeLog | 26 +-
DesktopEditor/xml/libxml2/DOCBparser.c | 2 +-
DesktopEditor/xml/libxml2/HTMLparser.c | 170 +-
DesktopEditor/xml/libxml2/HTMLtree.c | 3 +-
DesktopEditor/xml/libxml2/Makefile.am | 10 +-
DesktopEditor/xml/libxml2/NEWS | 682 ++++++-
DesktopEditor/xml/libxml2/SAX2.c | 31 +-
DesktopEditor/xml/libxml2/TODO | 2 +-
DesktopEditor/xml/libxml2/buf.c | 47 +-
DesktopEditor/xml/libxml2/buf.h | 6 +-
DesktopEditor/xml/libxml2/catalog.c | 21 +-
DesktopEditor/xml/libxml2/configure.in | 1599 -----------------
DesktopEditor/xml/libxml2/debugXML.c | 21 +-
DesktopEditor/xml/libxml2/dict.c | 55 +-
DesktopEditor/xml/libxml2/doc/APIchunk1.html | 2 +-
DesktopEditor/xml/libxml2/doc/APIchunk11.html | 4 +-
DesktopEditor/xml/libxml2/doc/APIchunk12.html | 5 +-
DesktopEditor/xml/libxml2/doc/APIchunk13.html | 28 -
DesktopEditor/xml/libxml2/doc/APIchunk14.html | 2 -
DesktopEditor/xml/libxml2/doc/APIchunk17.html | 2 +-
DesktopEditor/xml/libxml2/doc/APIchunk26.html | 3 +-
DesktopEditor/xml/libxml2/doc/APIchunk28.html | 4 +-
DesktopEditor/xml/libxml2/doc/APIchunk29.html | 2 +-
DesktopEditor/xml/libxml2/doc/APIchunk5.html | 2 +-
DesktopEditor/xml/libxml2/doc/APIfiles.html | 3 +-
.../xml/libxml2/doc/APIfunctions.html | 86 +-
DesktopEditor/xml/libxml2/doc/APIsymbols.html | 3 +-
DesktopEditor/xml/libxml2/doc/apibuild.py | 1 +
.../xml/libxml2/doc/devhelp/general.html | 2 +-
.../xml/libxml2/doc/devhelp/libxml2-dict.html | 32 +-
.../libxml2/doc/devhelp/libxml2-entities.html | 8 +-
.../libxml2/doc/devhelp/libxml2-parser.html | 8 +-
.../xml/libxml2/doc/devhelp/libxml2-tree.html | 151 +-
.../libxml2/doc/devhelp/libxml2-xmlerror.html | 2 +-
.../doc/devhelp/libxml2-xmlmemory.html | 2 +-
.../doc/devhelp/libxml2-xmlregexp.html | 2 +-
.../doc/devhelp/libxml2-xmlschemastypes.html | 4 +-
.../doc/devhelp/libxml2-xmlstring.html | 8 +-
.../xml/libxml2/doc/devhelp/libxml2.devhelp | 3 +-
DesktopEditor/xml/libxml2/doc/docdescr.doc | 2 +-
.../xml/libxml2/doc/examples/examples.xml | 6 +-
.../xml/libxml2/doc/examples/index.html | 2 +-
.../xml/libxml2/doc/examples/io1.res | 2 +-
.../xml/libxml2/doc/examples/parse4.c | 6 +-
.../xml/libxml2/doc/examples/tree2.c | 3 +-
DesktopEditor/xml/libxml2/doc/html/book1.html | 2 +-
DesktopEditor/xml/libxml2/doc/html/index.html | 2 +-
.../xml/libxml2/doc/html/libxml-dict.html | 28 +-
.../xml/libxml2/doc/html/libxml-entities.html | 8 +-
.../xml/libxml2/doc/html/libxml-lib.html | 2 +-
.../xml/libxml2/doc/html/libxml-parser.html | 8 +-
.../xml/libxml2/doc/html/libxml-tree.html | 147 +-
.../xml/libxml2/doc/html/libxml-xmlerror.html | 2 +-
.../libxml2/doc/html/libxml-xmlmemory.html | 2 +-
.../libxml2/doc/html/libxml-xmlregexp.html | 2 +-
.../doc/html/libxml-xmlschemastypes.html | 4 +-
.../libxml2/doc/html/libxml-xmlstring.html | 8 +-
DesktopEditor/xml/libxml2/doc/index.py | 6 +-
DesktopEditor/xml/libxml2/doc/interface.html | 2 +-
DesktopEditor/xml/libxml2/doc/library.html | 6 +-
DesktopEditor/xml/libxml2/doc/libxml2-api.xml | 162 +-
.../xml/libxml2/doc/libxml2-refs.xml | 161 +-
DesktopEditor/xml/libxml2/doc/libxml2.xsa | 183 +-
DesktopEditor/xml/libxml2/doc/news.html | 353 +++-
DesktopEditor/xml/libxml2/doc/search.php | 5 +-
DesktopEditor/xml/libxml2/doc/symbols.xml | 2 +-
DesktopEditor/xml/libxml2/doc/xml.html | 366 +++-
DesktopEditor/xml/libxml2/doc/xmllint.1 | 7 +-
DesktopEditor/xml/libxml2/doc/xmllint.xml | 2 +-
DesktopEditor/xml/libxml2/elfgcchack.h | 54 +-
DesktopEditor/xml/libxml2/enc.h | 2 +-
DesktopEditor/xml/libxml2/encoding.c | 2 +-
DesktopEditor/xml/libxml2/entities.c | 6 +-
DesktopEditor/xml/libxml2/error.c | 6 +-
DesktopEditor/xml/libxml2/gentest.py | 2 +-
DesktopEditor/xml/libxml2/hash.c | 3 +
.../xml/libxml2/include/libxml/DOCBparser.h | 2 +-
.../xml/libxml2/include/libxml/HTMLparser.h | 2 +-
.../xml/libxml2/include/libxml/HTMLtree.h | 2 +-
.../xml/libxml2/include/libxml/SAX.h | 2 +-
.../xml/libxml2/include/libxml/SAX2.h | 8 +-
.../xml/libxml2/include/libxml/c14n.h | 2 +-
.../xml/libxml2/include/libxml/catalog.h | 2 +-
.../xml/libxml2/include/libxml/chvalid.h | 2 +-
.../xml/libxml2/include/libxml/debugXML.h | 2 +-
.../xml/libxml2/include/libxml/dict.h | 24 +-
.../xml/libxml2/include/libxml/encoding.h | 2 +-
.../xml/libxml2/include/libxml/entities.h | 6 +-
.../xml/libxml2/include/libxml/globals.h | 19 +-
.../xml/libxml2/include/libxml/hash.h | 2 +-
.../xml/libxml2/include/libxml/list.h | 2 +-
.../xml/libxml2/include/libxml/nanoftp.h | 2 +-
.../xml/libxml2/include/libxml/nanohttp.h | 2 +-
.../xml/libxml2/include/libxml/parser.h | 11 +-
.../libxml2/include/libxml/parserInternals.h | 4 +-
.../xml/libxml2/include/libxml/pattern.h | 2 +-
.../xml/libxml2/include/libxml/relaxng.h | 10 +-
.../libxml2/include/libxml/schemasInternals.h | 94 +-
.../xml/libxml2/include/libxml/schematron.h | 2 +-
.../xml/libxml2/include/libxml/threads.h | 2 +-
.../xml/libxml2/include/libxml/tree.h | 96 +-
.../xml/libxml2/include/libxml/uri.h | 2 +-
.../xml/libxml2/include/libxml/valid.h | 2 +-
.../xml/libxml2/include/libxml/xinclude.h | 2 +-
.../xml/libxml2/include/libxml/xlink.h | 2 +-
.../xml/libxml2/include/libxml/xmlIO.h | 12 +-
.../xml/libxml2/include/libxml/xmlautomata.h | 2 +-
.../xml/libxml2/include/libxml/xmlerror.h | 7 +-
.../xml/libxml2/include/libxml/xmlexports.h | 2 +-
.../xml/libxml2/include/libxml/xmlmemory.h | 2 +-
.../xml/libxml2/include/libxml/xmlmodule.h | 2 +-
.../xml/libxml2/include/libxml/xmlreader.h | 2 +-
.../xml/libxml2/include/libxml/xmlregexp.h | 2 +-
.../xml/libxml2/include/libxml/xmlsave.h | 2 +-
.../xml/libxml2/include/libxml/xmlschemas.h | 2 +-
.../libxml2/include/libxml/xmlschemastypes.h | 2 +-
.../xml/libxml2/include/libxml/xmlstring.h | 10 +-
.../xml/libxml2/include/libxml/xmlunicode.h | 2 +-
.../xml/libxml2/include/libxml/xmlversion.h | 4 +-
.../libxml2/include/libxml/xmlwin32version.h | 2 +-
.../xml/libxml2/include/libxml/xmlwriter.h | 2 +-
.../xml/libxml2/include/libxml/xpath.h | 2 +-
.../libxml2/include/libxml/xpathInternals.h | 4 +-
.../xml/libxml2/include/libxml/xpointer.h | 2 +-
.../xml/libxml2/include/win32config.h | 6 +-
.../xml/libxml2/include/wsockcompat.h | 2 +-
DesktopEditor/xml/libxml2/legacy.c | 2 +-
DesktopEditor/xml/libxml2/libxml.h | 30 +-
DesktopEditor/xml/libxml2/libxml.spec.in | 61 +-
DesktopEditor/xml/libxml2/libxml2.syms | 2 +-
.../xml/libxml2/macos/src/XMLTestPrefix.h | 2 +-
.../xml/libxml2/macos/src/XMLTestPrefix2.h | 2 +-
.../xml/libxml2/macos/src/config-mac.h | 2 +-
DesktopEditor/xml/libxml2/nanoftp.c | 46 +-
DesktopEditor/xml/libxml2/nanohttp.c | 20 +-
DesktopEditor/xml/libxml2/optim/hash_dict.txt | 2 +-
DesktopEditor/xml/libxml2/parser.c | 470 +++--
DesktopEditor/xml/libxml2/parserInternals.c | 205 ++-
.../xml/libxml2/python/drv_libxml2.py | 18 +-
DesktopEditor/xml/libxml2/python/generator.py | 4 +-
DesktopEditor/xml/libxml2/python/libxml.c | 2 +-
DesktopEditor/xml/libxml2/python/libxml.py | 6 +-
.../xml/libxml2/python/libxml_wrap.h | 2 +-
DesktopEditor/xml/libxml2/python/setup.py | 2 +-
DesktopEditor/xml/libxml2/python/setup.py.in | 86 +-
.../xml/libxml2/python/tests/sync.py | 29 +-
DesktopEditor/xml/libxml2/relaxng.c | 40 +-
.../xml/libxml2/result/XPath/expr/base | 8 +
.../libxml2/result/XPath/tests/chaptersbase | 10 +
.../xml/libxml2/result/XPath/tests/simplebase | 54 +
.../xml/libxml2/result/XPath/xptr/vidbase | 13 +
.../xml/libxml2/result/errors/cdata.xml.str | 4 +-
.../libxml2/result/errors/content1.xml.err | 2 +-
.../xml/libxml2/result/valid/t8.xml.err | 2 +-
.../xml/libxml2/result/valid/t8a.xml.err | 2 +-
DesktopEditor/xml/libxml2/rngparser.c | 2 +-
DesktopEditor/xml/libxml2/runtest.c | 115 +-
DesktopEditor/xml/libxml2/save.h | 2 +-
DesktopEditor/xml/libxml2/schematron.c | 8 +-
.../xml/libxml2/test/XPath/expr/base | 2 +
.../xml/libxml2/test/XPath/tests/chaptersbase | 1 +
.../xml/libxml2/test/XPath/tests/simplebase | 6 +
.../xml/libxml2/test/XPath/xptr/vidbase | 1 +
DesktopEditor/xml/libxml2/testModule.c | 2 +-
DesktopEditor/xml/libxml2/testOOMlib.h | 2 +-
DesktopEditor/xml/libxml2/testSAX.c | 8 +-
DesktopEditor/xml/libxml2/testapi.c | 483 ++---
DesktopEditor/xml/libxml2/testdict.c | 4 +-
DesktopEditor/xml/libxml2/testlimits.c | 12 +-
DesktopEditor/xml/libxml2/threads.c | 10 +-
DesktopEditor/xml/libxml2/timsort.h | 93 +-
DesktopEditor/xml/libxml2/tree.c | 163 +-
DesktopEditor/xml/libxml2/trio.c | 138 +-
DesktopEditor/xml/libxml2/trio.h | 16 +-
DesktopEditor/xml/libxml2/triodef.h | 8 +-
DesktopEditor/xml/libxml2/trionan.h | 2 +-
DesktopEditor/xml/libxml2/triop.h | 2 +-
DesktopEditor/xml/libxml2/triostr.c | 8 +-
DesktopEditor/xml/libxml2/triostr.h | 2 +-
DesktopEditor/xml/libxml2/uri.c | 47 +-
DesktopEditor/xml/libxml2/valid.c | 21 +-
.../xml/libxml2/vms/build_libxml.com | 17 +-
DesktopEditor/xml/libxml2/vms/config.vms | 7 +
DesktopEditor/xml/libxml2/win32/Makefile.msvc | 2 +-
DesktopEditor/xml/libxml2/win32/VC10/config.h | 4 +-
.../xml/libxml2/win32/VC10/libxml2.sdf | Bin 327680 -> 0 bytes
.../xml/libxml2/win32/VC10/libxml2.v12.suo | Bin 20992 -> 0 bytes
.../xml/libxml2/win32/VC10/libxml2.vcxproj | 4 +-
.../win32/VC10/libxml2.vcxproj.filters | 3 -
.../xml/libxml2/win32/VC10/runsuite.vcxproj | 4 +-
DesktopEditor/xml/libxml2/win32/configure.js | 2 +-
.../xml/libxml2/win32/libxml2.def.src | 26 +-
.../xml/libxml2/win32/wince/wincecompat.h | 2 +-
DesktopEditor/xml/libxml2/xinclude.c | 7 +-
DesktopEditor/xml/libxml2/xmlIO.c | 100 +-
DesktopEditor/xml/libxml2/xmlcatalog.c | 12 +-
DesktopEditor/xml/libxml2/xmllint.c | 47 +-
DesktopEditor/xml/libxml2/xmlmemory.c | 45 +-
DesktopEditor/xml/libxml2/xmlmodule.c | 4 +-
DesktopEditor/xml/libxml2/xmlreader.c | 142 +-
DesktopEditor/xml/libxml2/xmlregexp.c | 22 +-
DesktopEditor/xml/libxml2/xmlsave.c | 8 +-
DesktopEditor/xml/libxml2/xmlschemas.c | 152 +-
DesktopEditor/xml/libxml2/xmlschemastypes.c | 32 +-
DesktopEditor/xml/libxml2/xmlstring.c | 70 +-
DesktopEditor/xml/libxml2/xmlwriter.c | 30 +-
DesktopEditor/xml/libxml2/xpath.c | 113 +-
DesktopEditor/xml/libxml2/xpointer.c | 277 ++-
DesktopEditor/xml/libxml2/xzlib.c | 10 +-
DesktopEditor/xml/libxml2/xzlib.h | 2 +-
211 files changed, 4584 insertions(+), 3845 deletions(-)
delete mode 100644 DesktopEditor/xml/libxml2/configure.in
delete mode 100644 DesktopEditor/xml/libxml2/win32/VC10/libxml2.sdf
delete mode 100644 DesktopEditor/xml/libxml2/win32/VC10/libxml2.v12.suo
diff --git a/DesktopEditor/xml/build/qt/libxml2_all.c b/DesktopEditor/xml/build/qt/libxml2_all.c
index 4449cefbe7..f9c3cc1c99 100644
--- a/DesktopEditor/xml/build/qt/libxml2_all.c
+++ b/DesktopEditor/xml/build/qt/libxml2_all.c
@@ -9,6 +9,7 @@
#include "../../libxml2/entities.c"
#include "../../libxml2/error.c"
#include "../../libxml2/globals.c"
+#include "../../libxml2/hash.c"
#include "../../libxml2/HTMLparser.c"
#include "../../libxml2/HTMLtree.c"
#include "../../libxml2/legacy.c"
@@ -16,6 +17,7 @@
#include "../../libxml2/nanoftp.c"
#include "../../libxml2/nanohttp.c"
//#include "../../libxml2/parser.c"
+#include "../../libxml2/parserInternals.c"
#include "../../libxml2/pattern.c"
#include "../../libxml2/relaxng.c"
#include "../../libxml2/SAX.c"
@@ -40,5 +42,3 @@
#include "../../libxml2/xmlwriter.c"
#include "../../libxml2/xpath.c"
#include "../../libxml2/xpointer.c"
-#include "../../libxml2/parserInternals.c"
-#include "../../libxml2/hash.c"
diff --git a/DesktopEditor/xml/libxml2/ChangeLog b/DesktopEditor/xml/libxml2/ChangeLog
index 8f3848aa4b..a6b76bb860 100644
--- a/DesktopEditor/xml/libxml2/ChangeLog
+++ b/DesktopEditor/xml/libxml2/ChangeLog
@@ -593,7 +593,7 @@ Thu Apr 24 13:56:53 CEST 2008 Daniel Veillard
Tue Apr 22 10:27:17 CEST 2008 Daniel Veillard
- * dict.c: improvement on the hashing of the dictionnary, with visible
+ * dict.c: improvement on the hashing of the dictionary, with visible
speed up as the number of strings in the hash increases, work from
Stefan Behnel
@@ -2479,7 +2479,7 @@ Mon Jan 9 17:27:15 CET 2006 Kasimier Buchcik
Mon Jan 9 15:33:16 CET 2006 Daniel Veillard
* parser.c: reverted first patches for #319279 which led to #326295
- and fixed the problem in DoctRenderer() instead
+ and fixed the problem in xmlParseChunk() instead
* test/ent11 result//ent11*: added test for #326295 to the regression
suite
@@ -5017,7 +5017,7 @@ Mon Jan 24 00:47:41 CET 2005 Daniel Veillard
Sun Jan 23 23:54:39 CET 2005 Daniel Veillard
* hash.c include/libxml/hash.h: added xmlHashCreateDict where
- the hash reuses the dictionnary for internal strings
+ the hash reuses the dictionary for internal strings
* entities.c valid.c parser.c: reuse that new API, leads to a decent
speedup when parsing for example DocBook documents.
@@ -5371,7 +5371,7 @@ Fri Nov 26 11:44:36 CET 2004 Daniel Veillard
Wed Nov 24 13:41:52 CET 2004 Daniel Veillard
* dict.c include/libxml/dict.h: added xmlDictExists() to the
- dictionnary interface.
+ dictionary interface.
* xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces
from Rob Richards
@@ -5697,7 +5697,7 @@ Tue Oct 26 23:57:02 CEST 2004 Daniel Veillard
Tue Oct 26 18:09:59 CEST 2004 Daniel Veillard
* debugXML.c include/libxml/xmlerror.h: added checking for names
- values and dictionnaries generates a tons of errors
+ values and dictionaries generates a tons of errors
* SAX2.ccatalog.c parser.c relaxng.c tree.c xinclude.c xmlwriter.c
include/libxml/tree.h: fixing the errors in the regression tests
@@ -7746,14 +7746,14 @@ Fri Jan 23 14:03:21 CET 2004 Daniel Veillard
make tests
* xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to
compile an XPath expression within a context, currently the goal
- is to be able to reuse the XSLT stylesheet dictionnary, but this
+ is to be able to reuse the XSLT stylesheet dictionary, but this
opens the door to others possible optimizations.
* dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows
- to build a new dictionnary based on another read-only dictionnary.
- This is needed for XSLT to keep the stylesheet dictionnary read-only
+ to build a new dictionary based on another read-only dictionary.
+ This is needed for XSLT to keep the stylesheet dictionary read-only
while being able to reuse the strings for the transformation
- dictionnary.
- * xinclude.c: fixed a dictionnar reference counting problem occuring
+ dictionary.
+ * xinclude.c: fixed a dictionary reference counting problem occuring
when document parsing failed.
* testSAX.c: adding option --repeat for timing 100times the parsing
* doc/* : rebuilt all the docs
@@ -7806,7 +7806,7 @@ Mon Jan 12 17:22:57 CET 2004 Daniel Veillard
Thu Jan 8 17:57:50 CET 2004 Daniel Veillard
* xmlschemas.c: removed a memory leak remaining from the switch
- to a dictionnary for string allocations c.f. #130891
+ to a dictionary for string allocations c.f. #130891
Thu Jan 8 17:48:46 CET 2004 Daniel Veillard
@@ -7928,7 +7928,7 @@ Fri Jan 2 22:58:29 HKT 2004 William Brack
Fri Jan 2 11:40:06 CET 2004 Daniel Veillard
* SAX2.c: found and fixed a bug misallocating some non
- blank text node strings from the dictionnary.
+ blank text node strings from the dictionary.
* xmlmemory.c: fixed a problem with the memory debug mutex
release.
@@ -9386,7 +9386,7 @@ Sat Sep 27 01:25:39 CEST 2003 Daniel Veillard
* parser.c: William's change allowed to spot a nasty bug in xmlDoRead
if the result is not well formed that ctxt->myDoc is not NULL
- and uses the context dictionnary.
+ and uses the context dictionary.
Fri Sep 26 21:09:34 CEST 2003 Daniel Veillard
diff --git a/DesktopEditor/xml/libxml2/DOCBparser.c b/DesktopEditor/xml/libxml2/DOCBparser.c
index a3c823c4b2..14f9b75780 100644
--- a/DesktopEditor/xml/libxml2/DOCBparser.c
+++ b/DesktopEditor/xml/libxml2/DOCBparser.c
@@ -120,7 +120,7 @@ docbParseChunk(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
deprecated = 1;
}
- return (DoctRenderer(ctxt, chunk, size, terminate));
+ return (xmlParseChunk(ctxt, chunk, size, terminate));
}
/**
diff --git a/DesktopEditor/xml/libxml2/HTMLparser.c b/DesktopEditor/xml/libxml2/HTMLparser.c
index 2b5d1a4b88..55c5c776db 100644
--- a/DesktopEditor/xml/libxml2/HTMLparser.c
+++ b/DesktopEditor/xml/libxml2/HTMLparser.c
@@ -105,7 +105,7 @@ htmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra)
*
* Handle a fatal parser error, i.e. violating Well-Formedness constraints
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
htmlParseErr(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
@@ -132,7 +132,7 @@ htmlParseErr(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*
* Handle a fatal parser error, i.e. violating Well-Formedness constraints
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
htmlParseErrInt(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, int val)
{
@@ -303,6 +303,7 @@ htmlNodeInfoPop(htmlParserCtxtPtr ctxt)
#define UPP(val) (toupper(ctxt->input->cur[(val)]))
#define CUR_PTR ctxt->input->cur
+#define BASE_PTR ctxt->input->base
#define SHRINK if ((ctxt->input->cur - ctxt->input->base > 2 * INPUT_CHUNK) && \
(ctxt->input->end - ctxt->input->cur < 2 * INPUT_CHUNK)) \
@@ -1177,7 +1178,7 @@ static const char *const htmlScriptAttributes[] = {
"onfocus",
"onblur",
"onsubmit",
- "onrest",
+ "onreset",
"onchange",
"onselect"
};
@@ -2471,6 +2472,10 @@ htmlParseName(htmlParserCtxtPtr ctxt) {
(*in == '_') || (*in == '-') ||
(*in == ':') || (*in == '.'))
in++;
+
+ if (in == ctxt->input->end)
+ return(NULL);
+
if ((*in > 0) && (*in < 0x80)) {
count = in - ctxt->input->cur;
ret = xmlDictLookup(ctxt->dict, ctxt->input->cur, count);
@@ -2488,6 +2493,7 @@ htmlParseNameComplex(xmlParserCtxtPtr ctxt) {
int len = 0, l;
int c;
int count = 0;
+ const xmlChar *base = ctxt->input->base;
/*
* Handler for more complex cases
@@ -2513,7 +2519,18 @@ htmlParseNameComplex(xmlParserCtxtPtr ctxt) {
len += l;
NEXTL(l);
c = CUR_CHAR(l);
+ if (ctxt->input->base != base) {
+ /*
+ * We changed encoding from an unknown encoding
+ * Input buffer changed location, so we better start again
+ */
+ return(htmlParseNameComplex(ctxt));
+ }
}
+
+ if (ctxt->input->base > ctxt->input->cur - len)
+ return(NULL);
+
return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len));
}
@@ -2765,31 +2782,43 @@ htmlParseAttValue(htmlParserCtxtPtr ctxt) {
static xmlChar *
htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) {
- const xmlChar *q;
+ size_t len = 0, startPosition = 0;
xmlChar *ret = NULL;
if (CUR == '"') {
NEXT;
- q = CUR_PTR;
- while ((IS_CHAR_CH(CUR)) && (CUR != '"'))
+
+ if (CUR_PTR < BASE_PTR)
+ return(ret);
+ startPosition = CUR_PTR - BASE_PTR;
+
+ while ((IS_CHAR_CH(CUR)) && (CUR != '"')) {
NEXT;
+ len++;
+ }
if (!IS_CHAR_CH(CUR)) {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED,
"Unfinished SystemLiteral\n", NULL, NULL);
} else {
- ret = xmlStrndup(q, CUR_PTR - q);
+ ret = xmlStrndup((BASE_PTR+startPosition), len);
NEXT;
}
} else if (CUR == '\'') {
NEXT;
- q = CUR_PTR;
- while ((IS_CHAR_CH(CUR)) && (CUR != '\''))
+
+ if (CUR_PTR < BASE_PTR)
+ return(ret);
+ startPosition = CUR_PTR - BASE_PTR;
+
+ while ((IS_CHAR_CH(CUR)) && (CUR != '\'')) {
NEXT;
+ len++;
+ }
if (!IS_CHAR_CH(CUR)) {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED,
"Unfinished SystemLiteral\n", NULL, NULL);
} else {
- ret = xmlStrndup(q, CUR_PTR - q);
+ ret = xmlStrndup((BASE_PTR+startPosition), len);
NEXT;
}
} else {
@@ -2813,32 +2842,47 @@ htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) {
static xmlChar *
htmlParsePubidLiteral(htmlParserCtxtPtr ctxt) {
- const xmlChar *q;
+ size_t len = 0, startPosition = 0;
xmlChar *ret = NULL;
/*
* Name ::= (Letter | '_') (NameChar)*
*/
if (CUR == '"') {
NEXT;
- q = CUR_PTR;
- while (IS_PUBIDCHAR_CH(CUR)) NEXT;
+
+ if (CUR_PTR < BASE_PTR)
+ return(ret);
+ startPosition = CUR_PTR - BASE_PTR;
+
+ while (IS_PUBIDCHAR_CH(CUR)) {
+ len++;
+ NEXT;
+ }
+
if (CUR != '"') {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED,
"Unfinished PubidLiteral\n", NULL, NULL);
} else {
- ret = xmlStrndup(q, CUR_PTR - q);
+ ret = xmlStrndup((BASE_PTR + startPosition), len);
NEXT;
}
} else if (CUR == '\'') {
NEXT;
- q = CUR_PTR;
- while ((IS_PUBIDCHAR_CH(CUR)) && (CUR != '\''))
- NEXT;
+
+ if (CUR_PTR < BASE_PTR)
+ return(ret);
+ startPosition = CUR_PTR - BASE_PTR;
+
+ while ((IS_PUBIDCHAR_CH(CUR)) && (CUR != '\'')){
+ len++;
+ NEXT;
+ }
+
if (CUR != '\'') {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED,
"Unfinished PubidLiteral\n", NULL, NULL);
} else {
- ret = xmlStrndup(q, CUR_PTR - q);
+ ret = xmlStrndup((BASE_PTR + startPosition), len);
NEXT;
}
} else {
@@ -2948,8 +2992,9 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
/**
- * htmlParseCharData:
+ * htmlParseCharDataInternal:
* @ctxt: an HTML parser context
+ * @readahead: optional read ahead character in ascii range
*
* parse a CharData section.
* if we are within a CDATA section ']]>' marks an end of section.
@@ -2958,12 +3003,15 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
*/
static void
-htmlParseCharData(htmlParserCtxtPtr ctxt) {
- xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 5];
+htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) {
+ xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 6];
int nbchar = 0;
int cur, l;
int chunk = 0;
+ if (readahead)
+ buf[nbchar++] = readahead;
+
SHRINK;
cur = CUR_CHAR(l);
while (((cur != '<') || (ctxt->token == '<')) &&
@@ -3042,6 +3090,21 @@ htmlParseCharData(htmlParserCtxtPtr ctxt) {
}
}
+/**
+ * htmlParseCharData:
+ * @ctxt: an HTML parser context
+ *
+ * parse a CharData section.
+ * if we are within a CDATA section ']]>' marks an end of section.
+ *
+ * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
+ */
+
+static void
+htmlParseCharData(htmlParserCtxtPtr ctxt) {
+ htmlParseCharDataInternal(ctxt, 0);
+}
+
/**
* htmlParseExternalID:
* @ctxt: an HTML parser context
@@ -3245,12 +3308,17 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
ctxt->instate = state;
return;
}
+ len = 0;
+ buf[len] = 0;
q = CUR_CHAR(ql);
+ if (!IS_CHAR(q))
+ goto unfinished;
NEXTL(ql);
r = CUR_CHAR(rl);
+ if (!IS_CHAR(r))
+ goto unfinished;
NEXTL(rl);
cur = CUR_CHAR(l);
- len = 0;
while (IS_CHAR(cur) &&
((cur != '>') ||
(r != '-') || (q != '-'))) {
@@ -3281,18 +3349,20 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
}
}
buf[len] = 0;
- if (!IS_CHAR(cur)) {
- htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
- "Comment not terminated \nEBCDIC wrappers for system and external library calls (Patrick Monnerat),
+ OS400: Easy character transcoding support (Patrick Monnerat),
+ OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
+ OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
+ Fix building when configuring without xpath and xptr (Daniel Veillard),
+ configure: Add --with-python-install-dir (Jonas Eriksson),
+ Fix compilation with minimum and xinclude. (Nicolas Le Cam),
+ Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
+ Fix compilation with minimum and schematron. (Nicolas Le Cam),
+ Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
+ Don't use xmlValidateName() when not available. (Nicolas Le Cam),
+ Fix a portability issue on Windows (Longstreth Jon),
+ Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
+ Use specific macros for portability to OS/400 (Patrick Monnerat),
+ Add macros needed for OS/400 portability (Patrick Monnerat),
+ Portability patch for fopen on OS/400 (Patrick Monnerat),
+ Portability fixes for OS/400 (Patrick Monnerat),
+ Improve va_list portability (Patrick Monnerat),
+ Portability fix (Patrick Monnerat),
+ Portability fix (Patrick Monnerat),
+ Generic portability fix (Patrick Monnerat),
+ Shortening lines in headers (Patrick Monnerat),
+ build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
+ build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
+ fix some tabs mixing incompatible with python3 (Daniel Veillard),
+ add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
+ Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
+ python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
+ python: Fix compiler warnings when building python3 bindings (Armin K),
+ Fix for compilation with python 2.6.8 (Petr Sumbera)
+
+ - Improvements:
+ win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
+ elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
+ elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
+ Provide cmake module (Samuel Martin),
+ Fix a couple of issues raised by make dist (Daniel Veillard),
+ Fix and add const qualifiers (Kurt Roeckx),
+ Preparing for upcoming release of 2.9.2 (Daniel Veillard),
+ Fix zlib and lzma libraries check via command line (Dmitriy),
+ wrong error column in structured error when parsing end tag (Juergen Keil),
+ doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
+ Add methods for python3 iterator (Ron Angeles),
+ Support element node traversal in document fragments. (Kyle VanderBeek),
+ xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
+ Added macros for argument casts (Eric Zurcher),
+ adding init calls to xml and html Read parsing entry points (Daniel Veillard),
+ Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
+ Implement choice for name classes on attributes (Shaun McCance),
+ Two small namespace tweaks (Daniel Veillard),
+ xmllint --memory should fail on empty files (Daniel Veillard),
+ Cast encoding name to char pointer to match arg type (Nikolay Sivov)
+
+ - Cleanups:
+ Removal of old configure.in (Daniel Veillard),
+ Unreachable code in tree.c (Gaurav Gupta),
+ Remove a couple of dead conditions (Gaurav Gupta),
+ Avoid some dead code and cleanup in relaxng.c (Gaurav),
+ Drop not needed checks (Denis Pauk),
+ Fix a wrong test (Daniel Veillard)
+
+
+
+2.9.1: Apr 19 2013:
+ - Features:
+ Support for Python3 (Daniel Veillard),
+ Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)
+
+ - Documentation:
+ Add documentation for xmllint --xpath (Daniel Veillard),
+ Fix the URL of the SAX documentation from James (Daniel Veillard),
+ Fix spelling of "length". (Michael Wood)
+
+ - Portability:
+ Fix python bindings with versions older than 2.7 (Daniel Veillard),
+ rebuild docs:Makefile.am (Roumen Petrov),
+ elfgcchack.h after rebuild in doc (Roumen Petrov),
+ elfgcchack for buf module (Roumen Petrov),
+ Fix a uneeded and wrong extra link parameter (Daniel Veillard),
+ Few cleanup patches for Windows (Denis Pauk),
+ Fix rpmbuild --nocheck (Mark Salter),
+ Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),
+ Fix Broken multi-arch support in xml2-config (Daniel Veillard),
+ Fix a portability issue for GCC < 3.4.0 (Daniel Veillard),
+ Windows build fixes (Daniel Richard),
+ Fix a thread portability problem (Friedrich Haubensak),
+ Downgrade autoconf requirement to 2.63 (Daniel Veillard)
+
+ - Bug Fixes:
+ Fix a linking error for python bindings (Daniel Veillard),
+ Fix a couple of return without value (Jüri Aedla),
+ Improve the hashing functions (Daniel Franke),
+ Improve handling of xmlStopParser() (Daniel Veillard),
+ Remove risk of lockup in dictionary initialization (Daniel Veillard),
+ Activate detection of encoding in external subset (Daniel Veillard),
+ Fix an output buffer flushing conversion bug (Mikhail Titov),
+ Fix an old bug in xmlSchemaValidateOneElement (Csaba László),
+ Fix configure cannot remove messages (Gilles Espinasse),
+ fix schema validation in combination with xsi:nil (Daniel Veillard),
+ xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),
+ Fix a few problems with setEntityLoader (Alexey Neyman),
+ Detect excessive entities expansion upon replacement (Daniel Veillard),
+ Fix the flushing out of raw buffers on encoding conversions (Daniel,
+Veillard),
+ Fix some buffer conversion issues (Daniel Veillard),
+ When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,
+Veillard),
+ Fix an error in the progressive DTD parsing code (Dan Winship),
+ xmllint should not load DTD by default when using the reader (Daniel,
+Veillard),
+ Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),
+ Fix potential out of bound access (Daniel Veillard),
+ Fix large parse of file from memory (Daniel Veillard),
+ Fix a bug in the nsclean option of the parser (Daniel Veillard),
+ Fix a regression in 2.9.0 breaking validation while streaming (Daniel,
+Veillard),
+ Remove potential calls to exit() (Daniel Veillard)
+
+ - Improvements:
+ Regenerated API, and testapi, rebuild documentation (Daniel Veillard),
+ Fix tree iterators broken by 2to3 script (Daniel Veillard),
+ update all tests for Python3 and Python2 (Daniel Veillard),
+ A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),
+ Fix compilation on Python3 (Daniel Veillard),
+ Converting apibuild.py to python3 (Daniel Veillard),
+ First pass at starting porting to python3 (Daniel Veillard),
+ updated configure.in for python3 (Daniel Veillard),
+ Add support for xpathRegisterVariable in Python (Shaun McCance),
+ Added a regression tests from bug 694228 data (Daniel Veillard),
+ Cache presence of '<' in entities content (Daniel Veillard),
+ Avoid extra processing on entities (Daniel Veillard),
+ Python binding for xmlRegisterInputCallback (Alexey Neyman),
+ Python bindings: DOM casts everything to xmlNode (Alexey Neyman),
+ Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),
+ Adding streaming validation to runtest checks (Daniel Veillard),
+ Add a --pushsmall option to xmllint (Daniel Veillard)
+
+ - Cleanups:
+ Switched comment in file to UTF-8 encoding (Daniel Veillard),
+ Extend gitignore (Daniel Veillard),
+ Silent the new python test on input (Alexey Neyman),
+ Cleanup of a duplicate test (Daniel Veillard),
+ Cleanup on duplicate test expressions (Daniel Veillard),
+ Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,
+Gansterer),
+ Spec cleanups and a fix for multiarch support (Daniel Veillard),
+ Silence a clang warning (Daniel Veillard),
+ Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),
+ rand_seed should be static in dict.c (Wouter Van Rooy),
+ Fix typos in parser comments (Jan Pokorný)
+
+
+
+2.9.0: Sep 11 2012:
+ - Features:
+ A few new API entry points,
+ More resilient push parser mode,
+ A lot of portability improvement,
+ Faster XPath evaluation
+
+ - Documentation:
+ xml2-config.1 markup error (Christian Weisgerber),
+ libxml(3) manpage typo fix (John Bradshaw),
+ More cleanups to the documentation part of libxml2 (Daniel Richard G)
+
+ - Portability:
+ Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),
+ fix builds not having stdint.h (Rob Richards),
+ GetProcAddressA is available only on WinCE (Daniel Veillard),
+ More updates and cleanups on autotools and Makefiles (Daniel Richard G),
+ More changes for Win32 compilation (Eric Zurcher),
+ Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),
+ Bundles all generated files for python into the distribution (Daniel Richard G),
+ Fix compiler warnings of wincecompat.c (Patrick Gansterer),
+ Fix non __GNUC__ build (Patrick Gansterer),
+ Fix windows unicode build (Patrick Gansterer),
+ clean redefinition of {v}snprintf in C-source (Roumen Petrov),
+ use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),
+ fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),
+ Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),
+ Various "make distcheck" and portability fixups (Daniel Richard G),
+ Fix compilation on older Visual Studio (Daniel Veillard)
+
+ - Bug Fixes:
+ Change the XPath code to percolate allocation errors (Daniel Veillard),
+ Fix reuse of xmlInitParser (Daniel Veillard),
+ Fix potential crash on entities errors (Daniel Veillard),
+ initialize var (Rob Richards),
+ Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),
+ Fix problem with specific and generic error handlers (Pietro Cerutti),
+ Avoid a potential infinite recursion (Daniel Veillard),
+ Fix an XSD error when generating internal automata (Daniel Veillard),
+ Patch for xinclude of text using multibyte characters (Vitaly Ostanin),
+ Fix a segfault on XSD validation on pattern error (Daniel Veillard),
+ Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),
+ Add a missing element check (Daniel Veillard),
+ Adding various checks on node type though the API (Daniel Veillard),
+ Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),
+ Fix make dist to include new private header files (Daniel Veillard),
+ More fixups on the push parser behaviour (Daniel Veillard),
+ Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),
+ Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),
+ Fixup limits parser (Daniel Veillard),
+ Do not fetch external parsed entities (Daniel Veillard),
+ Fix an error in previous commit (Aron Xu),
+ Fix entities local buffers size problems (Daniel Veillard),
+ Fix parser local buffers size problems (Daniel Veillard),
+ Fix a failure to report xmlreader parsing failures (Daniel Veillard)
+
+ - Improvements:
+ Keep libxml2.syms when running "make distclean" (Daniel Veillard),
+ Allow to set the quoting character of an xmlWriter (Csaba Raduly),
+ Keep non-significant blanks node in HTML parser (Daniel Veillard),
+ Add a forbidden variable error number and message to XPath (Daniel Veillard),
+ Support long path names on WNT (Michael Stahl),
+ Improve HTML escaping of attribute on output (Daniel Veillard),
+ Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),
+ Switching XPath node sorting to Timsort (Vojtech Fried),
+ Optimizing '//' in XPath expressions (Nick Wellnhofer),
+ Expose xmlBufShrink in the public tree API (Daniel Veillard),
+ Visible HTML elements close the head tag (Conrad Irwin),
+ Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),
+ Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),
+ minimize use of HAVE_CONFIG_H (Roumen Petrov),
+ fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),
+ Add support for big line numbers in error reporting (Daniel Veillard),
+ Avoid using xmlBuffer for serialization (Daniel Veillard),
+ Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),
+ Provide new accessors for xmlOutputBuffer (Daniel Veillard),
+ Improvements for old buffer compatibility (Daniel Veillard),
+ Expand the limit test program (Daniel Veillard),
+ Improve error reporting on parser errors (Daniel Veillard),
+ Implement some default limits in the XPath module (Daniel Veillard),
+ Introduce some default parser limits (Daniel Veillard),
+ Cleanups and new limit APIs for dictionaries (Daniel Veillard),
+ Fixup for buf.c (Daniel Veillard),
+ Cleanup URI module memory allocation code (Daniel Veillard),
+ Extend testlimits (Daniel Veillard),
+ More avoid quadratic behaviour (Daniel Veillard),
+ Impose a reasonable limit on PI size (Daniel Veillard),
+ first version of testlimits new test (Daniel Veillard),
+ Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),
+ Impose a reasonable limit on comment size (Daniel Veillard),
+ Impose a reasonable limit on attribute size (Daniel Veillard),
+ Harden the buffer code and make it more compatible (Daniel Veillard),
+ More cleanups for input/buffers code (Daniel Veillard),
+ Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard)
+ Swicth the test program for characters to new input buffers (Daniel Veillard),
+ Convert the HTML tree module to the new buffers (Daniel Veillard),
+ Convert of the HTML parser to new input buffers (Daniel Veillard),
+ Convert the writer to new output buffer and save APIs (Daniel Veillard),
+ Convert XMLReader to the new input buffers (Daniel Veillard),
+ New saving functions using xmlBuf and conversion (Daniel Veillard),
+ Provide new xmlBuf based saving functions (Daniel Veillard),
+ Convert XInclude to the new input buffers (Daniel Veillard),
+ Convert catalog code to the new input buffers (Daniel Veillard),
+ Convert C14N to the new Input buffer (Daniel Veillard),
+ Convert xmlIO.c to the new input and output buffers (Daniel Veillard),
+ Convert XML parser to the new input buffers (Daniel Veillard),
+ Incompatible change to the Input and Output buffers (Daniel Veillard),
+ Adding new encoding function to deal with the new structures (Daniel Veillard),
+ Convert XPath to xmlBuf (Daniel Veillard),
+ Adding a new buf module for buffers (Daniel Veillard),
+ Memory error within SAX2 reuse common framework (Daniel Veillard),
+ Fix xmllint --xpath node initialization (Daniel Veillard)
+
+ - Cleanups:
+ Various cleanups to avoid compiler warnings (Daniel Veillard),
+ Big space and tab cleanup (Daniel Veillard),
+ Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),
+ Second round of cleanups for LibXML2 docs/examples (Daniel Richard),
+ Remove all .cvsignore as they are not used anymore (Daniel Veillard),
+ Fix a Timsort function helper comment (Daniel Veillard),
+ Small cleanup for valgrind target (Daniel Veillard),
+ Patch for portability of latin characters in C files (Daniel Veillard),
+ Cleanup some of the parser code (Daniel Veillard),
+ Fix a variable name in comment (Daniel Veillard),
+ Regenerated testapi.c (Daniel Veillard),
+ Regenerating docs and API files (Daniel Veillard),
+ Small cleanup of unused variables in test (Daniel Veillard),
+ Expand .gitignore with more files (Daniel Veillard)
+
+
+
+2.8.0: May 23 2012:
+ - Features:
+ add lzma compression support (Anders F Bjorklund)
+
+ - Documentation:
+ xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
+ Update README.tests (Daniel Veillard),
+ URI handling code is not OOM resilient (Daniel Veillard),
+ Fix an error in comment (Daniel Veillard),
+ Fixed bug #617016 (Daniel Mustieles),
+ Fixed two typos in the README document (Daniel Neel),
+ add generated html files (Anders F Bjorklund),
+ Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
+ Improve documentation a bit (Daniel Veillard),
+ Updated URL for lxml python bindings (Daniel Veillard)
+
+ - Portability:
+ Restore code for Windows compilation (Daniel Veillard),
+ Remove git error message during configure (Christian Dywan),
+ xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
+ remove a bashism in confgure.in (John Hein),
+ undef ERROR if already defined (Patrick R. Gansterer),
+ Fix library problems with mingw-w64 (Michael Cronenworth),
+ fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
+ prefer native threads on win32 (Sam Thursfield),
+ Allow to compile with Visual Studio 2010 (Thomas Lemm),
+ Fix mingw's snprintf configure check (Andoni Morales),
+ fixed a 64bit big endian issue (Marcus Meissner),
+ Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
+ Fix windows build from lzma addition (Rob Richards),
+ autogen: Only check for libtoolize (Colin Walters),
+ Fix the Windows build files (Patrick von Reth),
+ 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
+ 599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
+ fix win build (Rob Richards)
+
+ - Bug fixes:
+ Part for rand_r checking missing (Daniel Veillard),
+ Cleanup on randomization (Daniel Veillard),
+ Fix undefined reference in python module (Pacho Ramos),
+ Fix a race in xmlNewInputStream (Daniel Veillard),
+ Fix weird streaming RelaxNG errors (Noam),
+ Fix various bugs in new code raised by the API checking (Daniel Veillard),
+ Fix various problems with "make dist" (Daniel Veillard),
+ Fix a memory leak in the xzlib code (Daniel Veillard),
+ HTML parser error with in the (Denis Pauk),
+ XSD: optional element in complex type extension (Remi Gacogne),
+ Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
+ Fix a wrong return value in previous patch (Daniel Veillard),
+ Fix an uninitialized variable use (Daniel Veillard),
+ Fix a compilation problem with --minimum (Brandon Slack),
+ Remove redundant and ungarded include of resolv.h (Daniel Veillard),
+ xinclude with parse="text" does not use the entity loader (Shaun McCance),
+ Allow to parse 1 byte HTML files (Denis Pauk),
+ Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
+ Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
+ Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
+ xmlParseNodeInContext problems with an empty document (Tim Elliott),
+ HTML element position is not detected propperly (Pavel Andrejs),
+ Fix an off by one pointer access (Jüri Aedla),
+ Try to fix a problem with entities in SAX mode (Daniel Veillard),
+ Fix a crash with xmllint --path on empty results (Daniel Veillard),
+ Fixed bug #667946 (Daniel Mustieles),
+ Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
+ Fix a wrong enum type use in Schemas Types (Nico Weber),
+ Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
+ Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
+ fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
+ fix a pair of possible out of array char references (Daniel Veillard),
+ Fix an allocation error when copying entities (Daniel Veillard),
+ Make sure the parser returns when getting a Stop order (Chris Evans),
+ Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
+ Fix a schema type duration comparison overflow (Daniel Veillard),
+ Fix an unimplemented part in RNG value validation (Daniel Veillard),
+ Fix missing error status in XPath evaluation (Daniel Veillard),
+ Hardening of XPath evaluation (Daniel Veillard),
+ Fix an off by one error in encoding (Daniel Veillard),
+ Fix RELAX NG include bug #655288 (Shaun McCance),
+ Fix XSD validation bug #630130 (Toyoda Eizi),
+ Fix some potential problems on reallocation failures (Chris Evans),
+ __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
+ __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
+ Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
+ Small fix for previous commit (Daniel Veillard),
+ Fix a potential freeing error in XPath (Daniel Veillard),
+ Fix a potential memory access error (Daniel Veillard),
+ Reactivate the shared library versionning script (Daniel Veillard)
+
+ - Improvements:
+ use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
+ New symbols added for the next release (Daniel Veillard),
+ xmlTextReader bails too quickly on error (Andy Lutomirski),
+ Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
+ Use buffers when constructing string node lists. (Conrad Irwin),
+ Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
+ wrong message for double hyphen in comment XML error (Bryan Henderson),
+ Fix "make tst" to grab lzma lib too (Daniel Veillard),
+ Add "whereis" command to xmllint shell (Ryan),
+ Improve xmllint shell (Ryan),
+ add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
+ Add --system support to autogen.sh (Daniel Veillard),
+ Add hash randomization to hash and dict structures (Daniel Veillard),
+ included xzlib in dist (Anders F Bjorklund),
+ move xz/lzma helpers to separate included files (Anders F Bjorklund),
+ add generated devhelp files (Anders F Bjorklund),
+ add XML_WITH_LZMA to api (Anders F Bjorklund),
+ autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
+ Improve the error report on undefined REFs (Daniel Veillard),
+ Add exception for new W3C PI xml-model (Daniel Veillard),
+ Add options to ignore the internal encoding (Daniel Veillard),
+ testapi: use the right type for the check (Stefan Kost),
+ various: handle return values of write calls (Stefan Kost),
+ testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
+ runxmlconf: update to latest testsuite version (Stefan Kost),
+ configure: add -Wno-long-long to CFLAGS (Stefan Kost),
+ configure: support silent automake rules if possible (Stefan Kost),
+ xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
+ __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
+ __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
+
+ - Cleanups:
+ Cleanups before 2.8.0-rc2 (Daniel Veillard),
+ Avoid an extra operation (Daniel Veillard),
+ Remove vestigial de-ANSI-fication support. (Javier Jardón),
+ autogen.sh: Fix typo (Javier Jardón),
+ Do not use unsigned but unsigned int (Daniel Veillard),
+ Remove two references to u_short (Daniel Veillard),
+ Fix -Wempty-body warning from clang (Nico Weber),
+ Cleanups of lzma support (Daniel Veillard),
+ Augment the list of ignored files (Daniel Veillard),
+ python: remove unused variable (Stefan Kost),
+ python: flag two unused args (Stefan Kost),
+ configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
+ xpath: remove unused variable (Stefan Kost)
+
+
+
+2.7.8: Nov 4 2010:
+ - Features:
+ 480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
+ Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
+
+ - Documentation:
+ Fix devhelp documentation installation (Mike Hommey),
+ Fix web site encoding problems (Daniel Veillard),
+ Fix a couple of typo in HTML parser error messages (Michael Day),
+ Forgot to update the news page for 0.7.7 (Daniel Veillard)
+
+ - Portability:
+ 607273 Fix python detection on MSys/Windows (LRN),
+ 614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
+ Fix compilation with Clang (Koop Mast),
+ Fix Win32 build (Rob Richards)
+
+ - Bug Fixes:
+ 595789 fix a remaining potential Solaris problem (Daniel Veillard),
+ 617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
+ 616478 Fix xmllint shell write command (Gwenn Kahz),
+ 614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
+ 627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
+ 629325 XPath rounding errors first cleanup (Phil Shafer),
+ 630140 fix iso995x encoding error (Daniel Veillard),
+ make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
+ Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
+ Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
+ Fix a leak in XPath compilation (Daniel Veillard),
+ Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
+ Avoid a descriptor leak in catalog loading code (Carlo Bramini),
+ Fix a small bug in XPath evaluation code (Marius Wachtler),
+ Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
+ Fix errors in XSD double validation check (Csaba Raduly),
+ Fix handling of apos in URIs (Daniel Veillard),
+ xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
+ Autogen.sh needs to create m4 directory (Rob Richards)
+
+ - Improvements:
+ 606592 update language ID parser to RFC 5646 (Daniel Veillard),
+ Sort python generated stubs (Mike Hommey),
+ Add an HTML parser option to avoid a default doctype (Daniel Veillard)
+
+ - Cleanups:
+ 618831 don't ship generated files in git (Adrian Bunk),
+ Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
+ Various cleanups on encoding handling (Daniel Veillard),
+ Fix xmllint to use format=1 for default formatting (Adam Spragg),
+ Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
+ Cleanup encoding pointer comparison (Nikolay Sivov),
+ Small code cleanup on previous patch (Daniel Veillard)
+
+
+
+2.7.7: Mar 15 2010:
+ - Improvements:
+ Adding a --xpath option to xmllint (Daniel Veillard),
+ Make HTML parser non-recursive (Eugene Pimenov)
+
+ - Portability:
+ relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
+ Fix build failure on Sparc solaris (Roumen Petrov),
+ use autoreconf in autogen.sh (Daniel Veillard),
+ Fix build with mingw (Roumen Petrov),
+ Upgrade some of the configure and autogen (Daniel Veillard),
+ Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
+ Fix a const warning in xmlNodeSetBase (Martin Trappel),
+ Fix python generator to not use deprecated xmllib (Daniel Veillard),
+ Update some automake files (Daniel Veillard),
+ 598785 Fix nanohttp on Windows (spadix)
+
+ - Bug Fixes:
+ libxml violates the zlib interface and crashes (Mark Adler),
+ Fix broken escape behaviour in regexp ranges (Daniel Veillard),
+ Fix missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
+ Fix detection of python linker flags (Daniel Macks),
+ fix build error in libxml2/python (Paul Smith),
+ ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
+ htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
+ Fix a missing #ifdef (Daniel Veillard),
+ Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
+ xmlPreviousElementSibling mistake (François Delyon),
+ 608773 add a missing check in xmlGROW (Daniel Veillard),
+ Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
+ Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
+ Fix some missing commas in HTML element lists (Eugene Pimenov),
+ Correct variable type to unsigned (Nikolay Sivov),
+ Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
+ Fix memory leak in xmlXPathEvalExpression() (Martin),
+ Fix an init bug in global.c (Kai Henning),
+ Fix xmlNodeSetBase() comment (Daniel Veillard),
+ Fix broken escape behaviour in regexp ranges (Daniel Veillard),
+ Don't give default HTML boolean attribute values in parser (Daniel Veillard),
+ xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
+
+ - Cleanups:
+ Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
+
+
+
2.7.6: Oct 6 2009:
- Bug Fixes:
Restore thread support in default configuration (Andrew W. Nosenko),
@@ -215,7 +845,7 @@ http://svn.gnome.org/viewvc/libxml2/trunk/
- Improvement: switch parser to XML-1.0 5th edition, add parsing flags
for old versions, switch URI parsing to RFC 3986,
add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
- new hashing functions for dictionnaries (based on Stefan Behnel work),
+ new hashing functions for dictionaries (based on Stefan Behnel work),
improve handling of misplaced html/head/body in HTML parser, better
regression test tools and code coverage display, better algorithms
to detect various versions of the billion laughts attacks, make
@@ -420,7 +1050,7 @@ Do not use or package 2.6.25
- Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.
- - Bug fixes: DoctRenderer() problem in 2.6.23, xmlParseInNodeContext()
+ - Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
bug, xmlParseComment (with William Brack), regexp bug fixes (DV &
Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
@@ -601,7 +1231,7 @@ Do not use or package 2.6.25
Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
some gcc4 fixes, HP-UX portability fixes (Rick Jones).
- bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
- xmlreader stopping on non-fatal errors, thread support for dictionnaries
+ xmlreader stopping on non-fatal errors, thread support for dictionaries
reference counting (Gary Coady), internal subset and push problem, URL
saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
@@ -614,7 +1244,7 @@ Do not use or package 2.6.25
Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
(Rob Richards), Schemas decimal type fixes (William Brack),
xmlByteConsumed static buffer (Ben Maurer).
- - improvement: speedup parsing comments and DTDs, dictionnary support for
+ - improvement: speedup parsing comments and DTDs, dictionary support for
hash tables, Schemas Identity constraints (Kasimier), streaming XPath
subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
@@ -824,7 +1454,7 @@ Do not use or package 2.6.25
URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
XInclude and XPointer fixes for entities (William), XML parser bug
reported by Holger Rauch, nanohttp fd leak (William), regexps char
- groups '-' handling (William), dictionnary reference counting problems,
+ groups '-' handling (William), dictionary reference counting problems,
do not close stderr.
- performance patches from Petr Pajas
- Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
@@ -852,7 +1482,7 @@ Do not use or package 2.6.25
William) reported by Yuuichi Teranishi
- bugfixes: make test and path issues, xmlWriter attribute serialization
(William Brack), xmlWriter indentation (William), schemas validation
- (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg
+ (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
Paraschenko), XInclude empty fallback (William), HTML warnings (William),
XPointer in XInclude (William), Python namespace serialization,
isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
@@ -873,7 +1503,7 @@ Do not use or package 2.6.25
2.6.5: Jan 25 2004:
- - Bugfixes: dictionnaries for schemas (William Brack), regexp segfault
+ - Bugfixes: dictionaries for schemas (William Brack), regexp segfault
(William), xs:all problem (William), a number of XPointer bugfixes
(William), xmllint error go to stderr, DTD validation problem with
namespace, memory leak (William), SAX1 cleanup and minimal options fixes
@@ -885,14 +1515,14 @@ Do not use or package 2.6.25
Fleck), doc (Sven Zimmerman), I/O example.
- Python bindings: fixes (William), enum support (Stéphane Bidoul),
structured error reporting (Stéphane Bidoul)
- - XInclude: various fixes for conformance, problem related to dictionnary
+ - XInclude: various fixes for conformance, problem related to dictionary
references (William & me), recursion (William)
- xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
Mickautsch),
- xmlSchemas: normalizedString datatype (John Belmonte)
- code cleanup for strings functions (William)
- Windows: compiler patches (Mark Vakoc)
- - Parser optimizations, a few new XPath and dictionnary APIs for future
+ - Parser optimizations, a few new XPath and dictionary APIs for future
XSLT optimizations.
@@ -987,8 +1617,8 @@ Do not use or package 2.6.25
of change
- Increased the library modularity, far more options can be stripped out,
a --with-minimum configuration will weight around 160KBytes
- - Use per parser and per document dictionnary, allocate names and small
- text nodes from the dictionnary
+ - Use per parser and per document dictionary, allocate names and small
+ text nodes from the dictionary
- Switch to a SAX2 like parser rewrote most of the XML parser core,
provides namespace resolution and defaulted attributes, minimize memory
allocations and copies, namespace checking and specific error handling,
@@ -1035,7 +1665,7 @@ Do not use or package 2.6.25
(William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
error handling.
- xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
- testing, --nodict for building without tree dictionnary, --nocdata to
+ testing, --nodict for building without tree dictionary, --nocdata to
replace CDATA by text, --nsclean to remove surperfluous namespace
declarations
- added xml2-config --libtool-libs option from Kevin P. Fleming
@@ -1325,7 +1955,8 @@ http://www.w3.org/TR/xmlschema-2/
code, beware, all
interfaces are likely to change, there is huge holes, it is clearly a work in
progress and don't even think of putting this code in a production system,
-it's actually not compiled in by default. The real fixes are: - a couple of bugs or limitations introduced in 2.4.20
+it's actually not compiled in by default. The real fixes are:
+ - a couple of bugs or limitations introduced in 2.4.20
- patches for Borland C++ and MSC by Igor
- some fixes on XPath strings and conformance patches by Richard
Jinks
@@ -1567,7 +2198,8 @@ it's actually not compiled in by default. The real fixes are: - a couple of bu
2.3.9: May 19 2001:
-Lots of bugfixes, and added a basic SGML catalog support: - HTML push bugfix #54891 and another patch from Jonas Borgström
+Lots of bugfixes, and added a basic SGML catalog support:
+ - HTML push bugfix #54891 and another patch from Jonas Borgstrom
- some serious speed optimization again
- some documentation cleanups
- trying to get better linking on Solaris (-R)
@@ -1809,7 +2441,8 @@ Lots of bugfixes, and added a basic SGML catalog support: - HTML push bugfix #
about & charref parsing
- 2.1.0 also ease the upgrade from libxml v1 to the recent version. it
also contains numerous fixes and enhancements:
- added xmlStopParser() to stop parsing
+
+ added xmlStopParser() to stop parsing
improved a lot parsing speed when there is large CDATA blocs
includes XPath patches provided by Picdar Technology
tried to fix as much as possible DTD validation and namespace
@@ -1817,6 +2450,7 @@ Lots of bugfixes, and added a basic SGML catalog support: - HTML push bugfix #
output to a given encoding has been added/tested
lot of various fixes
+
- added xmlStopParser() to stop parsing
- improved a lot parsing speed when there is large CDATA blocs
- includes XPath patches provided by Picdar Technology
@@ -1865,7 +2499,8 @@ Lots of bugfixes, and added a basic SGML catalog support: - HTML push bugfix #
upgrade page
- Some interfaces may changes (especially a bit about encoding).
- the updates includes:
- fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
+
+ fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
handled now
Better handling of entities, especially well-formedness checking
and proper PEref extensions in external subsets
@@ -1874,6 +2509,7 @@ Lots of bugfixes, and added a basic SGML catalog support: - HTML push bugfix #
change
structures to accommodate DOM
+
- fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
handled now
- Better handling of entities, especially well-formedness checking
diff --git a/DesktopEditor/xml/libxml2/SAX2.c b/DesktopEditor/xml/libxml2/SAX2.c
index f17e6b5a46..8c22c9d0dd 100644
--- a/DesktopEditor/xml/libxml2/SAX2.c
+++ b/DesktopEditor/xml/libxml2/SAX2.c
@@ -55,7 +55,7 @@
* @ctxt: an XML validation parser context
* @msg: a string to accompany the error message
*/
-static void
+static void LIBXML_ATTR_FORMAT(2,0)
xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
xmlStructuredErrorFunc schannel = NULL;
const char *str1 = "out of memory\n";
@@ -93,7 +93,7 @@ xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
*
* Handle a validation error
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const char *str1, const char *str2)
{
@@ -133,7 +133,7 @@ xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*
* Handle a fatal parser error, i.e. violating Well-Formedness constraints
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
@@ -164,7 +164,7 @@ xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*
* Handle a parser warning
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1)
{
@@ -189,7 +189,7 @@ xmlWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*
* Handle a namespace error
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlNsErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
@@ -213,7 +213,7 @@ xmlNsErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*
* Handle a namespace warning
*/
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlNsWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
@@ -1078,7 +1078,7 @@ xmlSAX2EndDocument(void *ctx)
}
}
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
/**
* xmlSAX2AttributeInternal:
* @ctx: the user data (XML parser context)
@@ -1177,6 +1177,12 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
val = xmlStringDecodeEntities(ctxt, value, XML_SUBSTITUTE_REF,
0,0,0);
ctxt->depth--;
+ if (val == NULL) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
+ if (name != NULL)
+ xmlFree(name);
+ return;
+ }
} else {
val = (xmlChar *) value;
}
@@ -1822,7 +1828,7 @@ xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED)
#endif
nodePop(ctxt);
}
-#endif /* LIBXML_SAX1_ENABLED || LIBXML_HTML_ENABLE */
+#endif /* LIBXML_SAX1_ENABLED || LIBXML_HTML_ENABLED || LIBXML_LEGACY_ENABLED */
/*
* xmlSAX2TextNode:
@@ -2145,12 +2151,14 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
*/
if (dup == NULL)
dup = xmlStrndup(value, valueend - value);
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
#ifdef LIBXML_VALID_ENABLED
if (xmlValidateNCName(dup, 1) != 0) {
xmlErrValid(ctxt, XML_DTD_XMLID_VALUE,
"xml:id : attribute value %s is not an NCName\n",
(const char *) dup, NULL);
}
+#endif
#endif
xmlAddID(&ctxt->vctxt, ctxt->myDoc, dup, ret);
} else if (xmlIsID(ctxt->myDoc, ctxt->node, ret)) {
@@ -2570,6 +2578,10 @@ xmlSAX2Characters(void *ctx, const xmlChar *ch, int len)
(xmlDictOwns(ctxt->dict, lastChild->content))) {
lastChild->content = xmlStrdup(lastChild->content);
}
+ if (lastChild->content == NULL) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: xmlStrdup returned NULL");
+ return;
+ }
if (((size_t)ctxt->nodelen + (size_t)len > XML_MAX_TEXT_LENGTH) &&
((ctxt->options & XML_PARSE_HUGE) == 0)) {
xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: huge text node");
@@ -2793,7 +2805,8 @@ xmlSAX2CDataBlock(void *ctx, const xmlChar *value, int len)
xmlTextConcat(lastChild, value, len);
} else {
ret = xmlNewCDataBlock(ctxt->myDoc, value, len);
- xmlAddChild(ctxt->node, ret);
+ if (xmlAddChild(ctxt->node, ret) == NULL)
+ xmlFreeNode(ret);
}
}
diff --git a/DesktopEditor/xml/libxml2/TODO b/DesktopEditor/xml/libxml2/TODO
index 96ee2b4647..839bf6a971 100644
--- a/DesktopEditor/xml/libxml2/TODO
+++ b/DesktopEditor/xml/libxml2/TODO
@@ -221,7 +221,7 @@ Done:
ID and removes it from the table.
- push mode parsing i.e. non-blocking state based parser
done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
- and DoctRenderer() and html counterparts.
+ and xmlParseChunk() and html counterparts.
The tester program now has a --push option to select that parser
front-end. Douplicated tests to use both and check results are similar.
diff --git a/DesktopEditor/xml/libxml2/buf.c b/DesktopEditor/xml/libxml2/buf.c
index 839df3236e..8182a661ef 100644
--- a/DesktopEditor/xml/libxml2/buf.c
+++ b/DesktopEditor/xml/libxml2/buf.c
@@ -27,6 +27,7 @@
#include
#include
#include
+#include /* for XML_MAX_TEXT_LENGTH */
#include "buf.h"
#define WITH_BUFFER_COMPAT
@@ -299,7 +300,8 @@ xmlBufSetAllocationScheme(xmlBufPtr buf,
if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
(scheme == XML_BUFFER_ALLOC_EXACT) ||
(scheme == XML_BUFFER_ALLOC_HYBRID) ||
- (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) {
+ (scheme == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ (scheme == XML_BUFFER_ALLOC_BOUNDED)) {
buf->alloc = scheme;
if (buf->buffer)
buf->buffer->alloc = scheme;
@@ -458,6 +460,18 @@ xmlBufGrowInternal(xmlBufPtr buf, size_t len) {
size = buf->use + len + 100;
#endif
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if ((buf->use + len >= XML_MAX_TEXT_LENGTH) ||
+ (buf->size >= XML_MAX_TEXT_LENGTH)) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(0);
+ }
+ if (size >= XML_MAX_TEXT_LENGTH)
+ size = XML_MAX_TEXT_LENGTH;
+ }
if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
size_t start_buf = buf->content - buf->contentIO;
@@ -565,7 +579,7 @@ xmlBufDump(FILE *file, xmlBufPtr buf) {
*/
xmlChar *
-xmlBufContent(const xmlBufPtr buf)
+xmlBufContent(const xmlBuf *buf)
{
if ((!buf) || (buf->error))
return NULL;
@@ -583,7 +597,7 @@ xmlBufContent(const xmlBufPtr buf)
*/
xmlChar *
-xmlBufEnd(const xmlBufPtr buf)
+xmlBufEnd(xmlBufPtr buf)
{
if ((!buf) || (buf->error))
return NULL;
@@ -739,6 +753,15 @@ xmlBufResize(xmlBufPtr buf, size_t size)
CHECK_COMPAT(buf)
if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (size >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(0);
+ }
+ }
/* Don't resize if we don't have to */
if (size < buf->size)
@@ -867,6 +890,15 @@ xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) {
needSize = buf->use + len + 2;
if (needSize > buf->size){
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(-1);
+ }
+ }
if (!xmlBufResize(buf, needSize)){
xmlBufMemoryError(buf, "growing buffer");
return XML_ERR_NO_MEMORY;
@@ -938,6 +970,15 @@ xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) {
}
needSize = buf->use + len + 2;
if (needSize > buf->size){
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(-1);
+ }
+ }
if (!xmlBufResize(buf, needSize)){
xmlBufMemoryError(buf, "growing buffer");
return XML_ERR_NO_MEMORY;
diff --git a/DesktopEditor/xml/libxml2/buf.h b/DesktopEditor/xml/libxml2/buf.h
index 9f4f497d68..7d6933e4be 100644
--- a/DesktopEditor/xml/libxml2/buf.h
+++ b/DesktopEditor/xml/libxml2/buf.h
@@ -1,4 +1,4 @@
-/*
+/*
* Summary: Internal Interfaces for memory buffers in libxml2
* Description: this module describes most of the new xmlBuf buffer
* entry points, those are private routines, with a
@@ -50,8 +50,8 @@ int xmlBufIsEmpty(const xmlBufPtr buf);
int xmlBufAddLen(xmlBufPtr buf, size_t len);
int xmlBufErase(xmlBufPtr buf, size_t len);
-/* const xmlChar * xmlBufContent(const xmlBufPtr buf); */
-/* const xmlChar * xmlBufEnd(const xmlBufPtr buf); */
+/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
+/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
xmlChar * xmlBufDetach(xmlBufPtr buf);
diff --git a/DesktopEditor/xml/libxml2/catalog.c b/DesktopEditor/xml/libxml2/catalog.c
index fc69436825..eb06914a04 100644
--- a/DesktopEditor/xml/libxml2/catalog.c
+++ b/DesktopEditor/xml/libxml2/catalog.c
@@ -46,10 +46,10 @@
#define MAX_DELEGATE 50
#define MAX_CATAL_DEPTH 50
-#if defined(_WIN32) || defined (_WIN64)
-# define PATH_SEAPARATOR ';'
+#ifdef _WIN32
+# define PATH_SEPARATOR ';'
#else
-# define PATH_SEAPARATOR ':'
+# define PATH_SEPARATOR ':'
#endif
/**
@@ -238,7 +238,7 @@ xmlCatalogErrMemory(const char *extra)
*
* Handle a catalog error
*/
-static void
+static void LIBXML_ATTR_FORMAT(4,0)
xmlCatalogErr(xmlCatalogEntryPtr catal, xmlNodePtr node, int error,
const char *msg, const xmlChar *str1, const xmlChar *str2,
const xmlChar *str3)
@@ -994,6 +994,11 @@ xmlLoadFileContent(const char *filename)
content = (xmlChar*)xmlMallocAtomic(size + 10);
if (content == NULL) {
xmlCatalogErrMemory("allocating catalog data");
+#ifdef HAVE_STAT
+ close(fd);
+#else
+ fclose(fd);
+#endif
return (NULL);
}
#ifdef HAVE_STAT
@@ -3230,7 +3235,7 @@ xmlLoadCatalogs(const char *pathss) {
const char *cur;
const char *paths;
xmlChar *path;
-#if defined(_WIN32) || defined (_WIN64)
+#ifdef _WIN32
int i, iLen;
#endif
@@ -3242,10 +3247,10 @@ xmlLoadCatalogs(const char *pathss) {
while (xmlIsBlank_ch(*cur)) cur++;
if (*cur != 0) {
paths = cur;
- while ((*cur != 0) && (*cur != PATH_SEAPARATOR) && (!xmlIsBlank_ch(*cur)))
+ while ((*cur != 0) && (*cur != PATH_SEPARATOR) && (!xmlIsBlank_ch(*cur)))
cur++;
path = xmlStrndup((const xmlChar *)paths, cur - paths);
-#if defined(_WIN32) || defined (_WIN64)
+#ifdef _WIN32
iLen = strlen((const char*)path);
for(i = 0; i < iLen; i++) {
if(path[i] == '\\') {
@@ -3258,7 +3263,7 @@ xmlLoadCatalogs(const char *pathss) {
xmlFree(path);
}
}
- while (*cur == PATH_SEAPARATOR)
+ while (*cur == PATH_SEPARATOR)
cur++;
}
}
diff --git a/DesktopEditor/xml/libxml2/configure.in b/DesktopEditor/xml/libxml2/configure.in
deleted file mode 100644
index 3d2a7306a3..0000000000
--- a/DesktopEditor/xml/libxml2/configure.in
+++ /dev/null
@@ -1,1599 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.63])
-AC_INIT
-AC_CONFIG_SRCDIR([entities.c])
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CANONICAL_HOST
-
-LIBXML_MAJOR_VERSION=2
-LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=1
-LIBXML_MICRO_VERSION_SUFFIX=
-LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
-LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
-
-LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
-
-if test -f CVS/Entries ; then
- extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
- echo extra=$extra
- if test "$extra" != ""
- then
- LIBXML_VERSION_EXTRA="-CVS$extra"
- fi
-else if test -d .svn ; then
- extra=`svn info | grep Revision | sed 's+Revision: ++'`
- echo extra=$extra
- if test "$extra" != ""
- then
- LIBXML_VERSION_EXTRA="-SVN$extra"
- fi
-else if test -d .git ; then
- extra=`git describe 2>/dev/null | sed 's+LIBXML[[0-9.]]*-++'`
- echo extra=$extra
- if test "$extra" != ""
- then
- LIBXML_VERSION_EXTRA="-GIT$extra"
- fi
-fi
-fi
-fi
-AC_SUBST(LIBXML_MAJOR_VERSION)
-AC_SUBST(LIBXML_MINOR_VERSION)
-AC_SUBST(LIBXML_MICRO_VERSION)
-AC_SUBST(LIBXML_VERSION)
-AC_SUBST(LIBXML_VERSION_INFO)
-AC_SUBST(LIBXML_VERSION_NUMBER)
-AC_SUBST(LIBXML_VERSION_EXTRA)
-
-VERSION=${LIBXML_VERSION}
-
-AM_INIT_AUTOMAKE(libxml2, $VERSION)
-
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MKDIR_P
-AC_PROG_CPP
-AC_PATH_PROG(MV, mv, /bin/mv)
-AC_PATH_PROG(TAR, tar, /bin/tar)
-AC_PATH_PROG(PERL, perl, /usr/bin/perl)
-AC_PATH_PROG(WGET, wget, /usr/bin/wget)
-AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
-AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
-PKG_PROG_PKG_CONFIG
-
-LT_INIT
-
-dnl
-dnl if the system support linker version scripts for symbol versioning
-dnl then add it
-dnl
-VERSION_SCRIPT_FLAGS=
-# lt_cv_prog_gnu_ld is from libtool 2.+
-if test "$lt_cv_prog_gnu_ld" = yes; then
- VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-else
- case $host in
- *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
- esac
-fi
-AC_SUBST(VERSION_SCRIPT_FLAGS)
-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
-
-dnl
-dnl We process the AC_ARG_WITH first so that later we can modify
-dnl some of them to try to prevent impossible combinations. This
-dnl also allows up so alphabetize the choices
-dnl
-
-dnl
-dnl zlib option might change flags, so we save them initially
-dnl
-_cppflags="${CPPFLAGS}"
-_libs="${LIBS}"
-
-AC_ARG_WITH(c14n,
-[ --with-c14n add the Canonicalization support (on)])
-AC_ARG_WITH(catalog,
-[ --with-catalog add the Catalog support (on)])
-AC_ARG_WITH(debug,
-[ --with-debug add the debugging module (on)])
-AC_ARG_WITH(docbook,
-[ --with-docbook add Docbook SGML support (on)])
-AC_ARG_WITH(fexceptions,
-[ --with-fexceptions add GCC flag -fexceptions for C++ exceptions (off)])
-AC_ARG_WITH(ftp,
-[ --with-ftp add the FTP support (on)])
-AC_ARG_WITH(history,
-[ --with-history add history support to xmllint shell(off)])
-AC_ARG_WITH(html,
-[ --with-html add the HTML support (on)])
-dnl Specific dir for HTML output ?
-AC_ARG_WITH(html-dir, AS_HELP_STRING([--with-html-dir=path],
- [path to base html directory, default $datadir/doc/html]),
- [HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
-
-AC_ARG_WITH(html-subdir, AS_HELP_STRING([--with-html-subdir=path],
- [directory used under html-dir, default $PACKAGE-$VERSION/html]),
- [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
- [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
-AC_SUBST(HTML_DIR)
-AC_ARG_WITH(http,
-[ --with-http add the HTTP support (on)])
-AC_ARG_WITH(iconv,
-[ --with-iconv[[=DIR]] add ICONV support (on)])
-AC_ARG_WITH(icu,
-[ --with-icu add ICU support (off)])
-AC_ARG_WITH(iso8859x,
-[ --with-iso8859x add ISO8859X support if no iconv (on)])
-AC_ARG_WITH(legacy,
-[ --with-legacy add deprecated APIs for compatibility (on)])
-AC_ARG_WITH(mem_debug,
-[ --with-mem-debug add the memory debugging module (off)])
-AC_ARG_WITH(minimum,
-[ --with-minimum build a minimally sized library (off)])
-AC_ARG_WITH(output,
-[ --with-output add the serialization support (on)])
-AC_ARG_WITH(pattern,
-[ --with-pattern add the xmlPattern selection interface (on)])
-AC_ARG_WITH(push,
-[ --with-push add the PUSH parser interfaces (on)])
-AC_ARG_WITH(python,
-[ --with-python[[=DIR]] build Python bindings if found])
-AC_ARG_WITH(reader,
-[ --with-reader add the xmlReader parsing interface (on)])
-AC_ARG_WITH(readline,
-[ --with-readline=DIR use readline in DIR],[
- if test "$withval" != "no" -a "$withval" != "yes"; then
- RDL_DIR=$withval
- CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LIBS="${LIBS} -L$withval/lib"
- fi
-])
-AC_ARG_WITH(regexps,
-[ --with-regexps add Regular Expressions support (on)])
-AC_ARG_WITH(run_debug,
-[ --with-run-debug add the runtime debugging module (off)])
-AC_ARG_WITH(sax1,
-[ --with-sax1 add the older SAX1 interface (on)])
-AC_ARG_WITH(schemas,
-[ --with-schemas add Relax-NG and Schemas support (on)])
-AC_ARG_WITH(schematron,
-[ --with-schematron add Schematron support (on)])
-AC_ARG_WITH(threads,
-[ --with-threads add multithread support(on)])
-AC_ARG_WITH(thread-alloc,
-[ --with-thread-alloc add per-thread memory(off)])
-AC_ARG_WITH(tree,
-[ --with-tree add the DOM like tree manipulation APIs (on)])
-AC_ARG_WITH(valid,
-[ --with-valid add the DTD validation support (on)])
-AC_ARG_WITH(writer,
-[ --with-writer add the xmlWriter saving interface (on)])
-AC_ARG_WITH(xinclude,
-[ --with-xinclude add the XInclude support (on)])
-AC_ARG_WITH(xpath,
-[ --with-xpath add the XPATH support (on)])
-AC_ARG_WITH(xptr,
-[ --with-xptr add the XPointer support (on)])
-AC_ARG_WITH(modules,
-[ --with-modules add the dynamic modules support (on)])
-AC_ARG_WITH(zlib,
-[ --with-zlib[[=DIR]] use libz in DIR],[
- if test "$withval" != "no" -a "$withval" != "yes"; then
- Z_DIR=$withval
- CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LIBS="${LIBS} -L$withval/lib"
- fi
-])
-AC_ARG_WITH(lzma,
-[ --with-lzma[[=DIR]] use liblzma in DIR],[
- if test "$withval" != "no" -a "$withval" != "yes"; then
- LZMA_DIR=$withval
- CPPFLAGS="${CPPFLAGS} -I$withval/include"
- LIBS="${LIBS} -L$withval/lib"
- fi
-])
-AC_ARG_WITH(coverage,
-[ --with-coverage build for code coverage with GCC (off)])
-
-AC_ARG_ENABLE(rebuild-docs,
-[ --enable-rebuild-docs[[=yes/no]] rebuild some generated docs [[default=no]]])
-if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
- AC_MSG_ERROR([cannot rebuild docs when builddir != srcdir])
-fi
-AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes" -o "$USER" = "veillard"])
-
-dnl
-dnl hard dependancies on options
-dnl
-if test "$with_schemas" = "yes"
-then
- with_pattern=yes
- with_regexps=yes
-fi
-if test "$with_schematron" = "yes"
-then
- with_pattern=yes
- with_xpath=yes
-fi
-if test "$with_reader" = "yes"
-then
- with_push=yes
-fi
-if test "$with_xptr" = "yes"
-then
- with_xpath=yes
-fi
-dnl
-dnl option to build a minimal libxml2 library
-dnl
-if test "$with_minimum" = "yes"
-then
- echo "Configuring for a minimal library"
- if test "$with_c14n" = ""
- then
- with_c14n=no
- fi
- if test "$with_catalog" = ""
- then
- with_catalog=no
- fi
- echo So far so good!
- if test "$with_debug" = ""
- then
- with_debug=no
- fi
- if test "$with_docbook" = ""
- then
- with_docbook=no
- fi
- if test "$with_fexceptions" = ""
- then
- with_fexceptions=no
- fi
- if test "$with_ftp" = ""
- then
- with_ftp=no
- fi
- if test "$with_history" = ""
- then
- with_history=no
- fi
- if test "$with_html" = ""
- then
- with_html=no
- fi
- if test "$with_http" = ""
- then
- with_http=no
- fi
- if test "$with_iconv" = ""
- then
- with_iconv=no
- fi
- if test "$with_iso8859x" = ""
- then
- with_iso8859x=no
- fi
- if test "$with_legacy" = ""
- then
- with_legacy=no
- fi
- if test "$with_mem_debug" = ""
- then
- with_mem_debug=no
- fi
- if test "$with_output" = ""
- then
- with_output=no
- fi
- if test "$with_pattern" = ""
- then
- with_pattern=no
- fi
- if test "$with_push" = ""
- then
- with_push=no
- fi
- if test "$with_python" = ""
- then
- with_python=no
- fi
- if test "$with_reader" = ""
- then
- with_reader=no
- fi
- if test "$with_readline" = ""
- then
- with_readline=no
- fi
- if test "$with_regexps" = ""
- then
- with_regexps=no
- fi
- if test "$with_run_debug" = ""
- then
- with_run_debug=no
- fi
- if test "$with_sax1" = ""
- then
- with_sax1=no
- fi
- if test "$with_schemas" = ""
- then
- with_schemas=no
- fi
- if test "$with_schematron" = ""
- then
- with_schematron=no
- fi
- if test "$with_threads" = ""
- then
- with_threads=no
- fi
- if test "$with_thread_alloc" = ""
- then
- with_thread_alloc=no
- fi
- if test "$with_tree" = ""
- then
- with_tree=no
- fi
- if test "$with_valid" = ""
- then
- with_valid=no
- fi
- if test "$with_writer" = ""
- then
- with_writer=no
- fi
- if test "$with_xinclude" = ""
- then
- with_xinclude=no
- fi
- if test "$with_xpath" = ""
- then
- with_xpath=no
- fi
- if test "$with_xptr" = ""
- then
- with_xptr=no
- fi
- if test "$with_zlib" = ""
- then
- with_zlib=no
- fi
- if test "$with_modules" = ""
- then
- with_modules=no
- fi
-fi
-
-echo Checking zlib
-
-dnl Checks for zlib library.
-
-WITH_ZLIB=0
-if test "$with_zlib" = "no"; then
- echo "Disabling compression support"
-else
- AC_CHECK_HEADERS(zlib.h,
- AC_CHECK_LIB(z, gzread,[
- AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
- WITH_ZLIB=1
- if test "x${Z_DIR}" != "x"; then
- Z_CFLAGS="-I${Z_DIR}/include"
- Z_LIBS="-L${Z_DIR}/lib -lz"
- [case ${host} in
- *-*-solaris*)
- Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
- ;;
- esac]
- else
- Z_LIBS="-lz"
- fi]))
-fi
-
-AC_SUBST(Z_CFLAGS)
-AC_SUBST(Z_LIBS)
-AC_SUBST(WITH_ZLIB)
-
-echo Checking lzma
-
-dnl Checks for lzma library.
-
-WITH_LZMA=0
-if test "$with_lzma" = "no"; then
- echo "Disabling compression support"
-else
- # Try pkg-config first so that static linking works.
- # If this succeeeds, we ignore the WITH_LZMA directory.
- PKG_CHECK_MODULES([LZMA],[liblzma],
- [have_liblzma=yes],
- [have_liblzma=no])
-
- # If pkg-config failed, fall back to AC_CHECK_LIB. This
- # will not pick up the necessary LIBS flags for liblzma's
- # private dependencies, though, so static linking may fail.
- if test "x$have_liblzma" = "xno"; then
- AC_CHECK_HEADERS(lzma.h,
- AC_CHECK_LIB(lzma, lzma_code,[
- have_liblzma=yes
- if test "x${LZMA_DIR}" != "x"; then
- LZMA_CFLAGS="-I${LZMA_DIR}/include"
- LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
- else
- LZMA_LIBS="-llzma"
- fi],
- [have_liblzma=no]))
- fi
-
- # Found the library via either method?
- if test "x$have_liblzma" = "xyes"; then
- AC_DEFINE([HAVE_LIBLZMA], [1], [Have compression library])
- WITH_LZMA=1
- fi
-fi
-
-AC_SUBST(LZMA_CFLAGS)
-AC_SUBST(LZMA_LIBS)
-AC_SUBST(WITH_LZMA)
-
-CPPFLAGS=${_cppflags}
-LIBS=${_libs}
-
-echo Checking headers
-
-dnl Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([ctype.h])
-AC_CHECK_HEADERS([dirent.h])
-AC_CHECK_HEADERS([errno.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([stdarg.h])
-AC_CHECK_HEADERS([sys/stat.h])
-AC_CHECK_HEADERS([sys/types.h])
-AC_CHECK_HEADERS([stdint.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([time.h])
-AC_CHECK_HEADERS([ansidecl.h])
-AC_CHECK_HEADERS([ieeefp.h])
-AC_CHECK_HEADERS([nan.h])
-AC_CHECK_HEADERS([math.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([fp_class.h])
-AC_CHECK_HEADERS([float.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/socket.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include
-# endif
-])
-AC_CHECK_HEADERS([netinet/in.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include
-# endif
-])
-AC_CHECK_HEADERS([arpa/inet.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include
-# endif
-#if HAVE_ARPA_INET_H
-# include
-# endif
-])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/select.h])
-AC_CHECK_HEADERS([poll.h])
-AC_CHECK_HEADERS([sys/mman.h])
-AC_CHECK_HEADERS([sys/timeb.h])
-AC_CHECK_HEADERS([signal.h])
-AC_CHECK_HEADERS([arpa/nameser.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include
-# endif
-])
-AC_CHECK_HEADERS([resolv.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include
-# endif
-#if HAVE_NETINET_IN_H
-# include
-# endif
-#if HAVE_ARPA_NAMESER_H
-# include
-# endif
-])
-AC_CHECK_HEADERS([dl.h])
-AC_CHECK_HEADERS([dlfcn.h])
-
-
-echo Checking types
-
-AC_TYPE_UINT32_T
-
-
-echo Checking libraries
-
-dnl Checks for library functions.
-AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(strdup strndup strerror)
-AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
-AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
-AC_CHECK_FUNCS(stat _stat signal)
-AC_CHECK_FUNCS(rand rand_r srand time)
-AC_CHECK_FUNCS(isascii mmap munmap putenv)
-
-AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */
-#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
-# undef /**/ HAVE_MMAP
-#endif])
-
-dnl Checking for va_copy availability
-AC_MSG_CHECKING([for va_copy])
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include
-va_list ap1,ap2;]], [[va_copy(ap1,ap2);]])],
-have_va_copy=yes,
-have_va_copy=no)
-AC_MSG_RESULT($have_va_copy)
-if test x"$have_va_copy" = x"yes"; then
- AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
-else
- AC_MSG_CHECKING([for __va_copy])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include
- va_list ap1,ap2;]], [[__va_copy(ap1,ap2);]])],
- have___va_copy=yes,
- have___va_copy=no)
- AC_MSG_RESULT($have___va_copy)
- if test x"$have___va_copy" = x"yes"; then
- AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
- fi
-fi
-
-dnl Checks for inet libraries:
-AC_SEARCH_LIBS(gethostent, [nsl])
-AC_SEARCH_LIBS(setsockopt, [socket net network])
-AC_SEARCH_LIBS(connect, [inet])
-
-dnl Determine what socket length (socklen_t) data type is
-AC_MSG_CHECKING([for type of socket length (socklen_t)])
-AC_TRY_COMPILE2([
-#include
-#include
-#include ],[
-(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
- AC_MSG_RESULT(socklen_t *)
- XML_SOCKLEN_T=socklen_t],[
- AC_TRY_COMPILE2([
-#include
-#include
-#include ],[
-(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
- AC_MSG_RESULT(size_t *)
- XML_SOCKLEN_T=size_t],[
- AC_TRY_COMPILE2([
-#include
-#include
-#include ],[
-(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
- AC_MSG_RESULT(int *)
- XML_SOCKLEN_T=int],[
- AC_MSG_WARN(could not determine)
- XML_SOCKLEN_T="int"])])])
-AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
-
-dnl ***********************Checking for availability of IPv6*******************
-
-AC_MSG_CHECKING([whether to enable IPv6])
-AC_ARG_ENABLE(ipv6, [ --enable-ipv6[[=yes/no]] enables compilation of IPv6 code [[default=yes]]],, enable_ipv6=yes)
-if test "$with_minimum" = "yes"
-then
- enable_ipv6=no
-fi
-if test $enable_ipv6 = yes; then
- have_ipv6=no
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-# include
-# include
- ]], [[
- struct sockaddr_storage ss;
- socket(AF_INET6, SOCK_STREAM, 0)
- ]])],
- have_ipv6=yes,
- have_ipv6=no
- )
- AC_MSG_RESULT($have_ipv6)
-
- if test $have_ipv6 = yes; then
- AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
- have_broken_ss_family=no
-
- dnl *********************************************************************
- dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have
- dnl a ss_family member, but rather __ss_family. Let's detect that
- dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these
- dnl platforms. However, we should only do this if ss_family is not
- dnl present.
- dnl ********************************************************************
- AC_MSG_CHECKING([struct sockaddr::ss_family])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-# include
-# include
- ]], [[
- struct sockaddr_storage ss ;
- ss.ss_family = 0 ;
- ]])],
- have_ss_family=yes,
- have_ss_family=no
- )
- AC_MSG_RESULT($have_ss_family)
- if test x$have_ss_family = xno ; then
- AC_MSG_CHECKING([broken struct sockaddr::ss_family])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-# include
-# include
- ]], [[
- struct sockaddr_storage ss ;
- ss.__ss_family = 0 ;
- ]])],
- have_broken_ss_family=yes,
- have_broken_ss_family=no
- )
- AC_MSG_RESULT($have_broken_ss_family)
- if test x$have_broken_ss_family = xyes ; then
- AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [],
- [Whether struct sockaddr::__ss_family exists])
- AC_DEFINE(ss_family, __ss_family,
- [ss_family is not defined here, use __ss_family instead])
- else
- AC_MSG_WARN(ss_family and __ss_family not found)
- fi
- fi
-
- have_getaddrinfo=no
- AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
- if test $have_getaddrinfo != yes; then
- for lib in bsd socket inet; do
- AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break])
- done
- fi
-
- if test $have_getaddrinfo = yes; then
- AC_DEFINE([HAVE_GETADDRINFO], [], [Define if getaddrinfo is there])
- fi
- fi
-fi
-
-dnl ******************************End IPv6 checks******************************
-
-dnl Checks for isnan in libm if not in libc
-AC_CHECK_FUNC(isnan, AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there]) , AC_CHECK_LIB(m, isnan,
- [AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there])]))
-
-AC_CHECK_FUNC(isinf, AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there]) , AC_CHECK_LIB(m, isinf,
- [AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there])]))
-
-XML_LIBDIR='-L${libdir}'
-XML_INCLUDEDIR='-I${includedir}/libxml2'
-
-dnl
-dnl Extra flags
-dnl
-XML_CFLAGS=""
-RDL_LIBS=""
-
-dnl
-dnl Workaround for native compilers
-dnl HP : http://bugs.gnome.org/db/31/3163.html
-dnl DEC : Enable NaN/Inf
-dnl
-if test "${GCC}" != "yes" ; then
- case "${host}" in
- hppa*-*-hpux* )
- CFLAGS="${CFLAGS} -Wp,-H30000"
- ;;
- *-dec-osf* )
- CFLAGS="${CFLAGS} -ieee"
- ;;
- alpha*-*-linux* )
- CFLAGS="${CFLAGS} -ieee"
- ;;
- esac
-else
- if test "$with_fexceptions" = "yes"
- then
- #
- # Not activated by default because this inflates the code size
- # Used to allow propagation of C++ exceptions through the library
- #
- CFLAGS="${CFLAGS} -fexceptions"
- fi
-
- # warnings we'd like to see
- CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
- # warnings we'd like to supress
- CFLAGS="${CFLAGS} -Wno-long-long"
- case "${host}" in
- alpha*-*-linux* )
- CFLAGS="${CFLAGS} -mieee"
- ;;
- alpha*-*-osf* )
- CFLAGS="${CFLAGS} -mieee"
- ;;
- esac
-fi
-case ${host} in
- *-*-solaris*)
- XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
- ;;
- hppa*-hp-mpeix)
- NEED_TRIO=1
- ;;
- *-*-mingw* | *-*-cygwin* | *-*-msvc* )
- # If the host is Windows, and shared libraries are disabled, we
- # need to add -DLIBXML_STATIC to CFLAGS in order for linking to
- # work properly (without it, xmlexports.h would force the use of
- # DLL imports, which obviously aren't present in a static
- # library).
- if test "x$enable_shared" = "xno"; then
- XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
- CFLAGS="$CFLAGS -DLIBXML_STATIC"
- fi
- ;;
-esac
-
-
-dnl
-dnl check for python
-dnl
-
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-PYTHON_TESTS=
-pythondir=
-if test "$with_python" != "no" ; then
- if test -x "$with_python/bin/python"
- then
- echo Found python in $with_python/bin/python
- PYTHON="$with_python/bin/python"
- else
- if test -x "$with_python/python.exe"
- then
- echo Found python in $with_python/python.exe
- PYTHON="$with_python/python.exe"
- else
- if test -x "$with_python"
- then
- echo Found python in $with_python
- PYTHON="$with_python"
- else
- if test -x "$PYTHON"
- then
- echo Found python in environment PYTHON=$PYTHON
- with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
- else
- AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
- fi
- fi
- fi
- fi
- if test "$PYTHON" != ""
- then
- PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
- PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
-# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
-#
-# PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
- echo Found Python version $PYTHON_VERSION
- fi
- if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
- then
- if test -r $with_python/include/python$PYTHON_VERSION/Python.h
- then
- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
- else
- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
- then
- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
- else
- if test -r /usr/include/python$PYTHON_VERSION/Python.h
- then
- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
- else
- if test -r $with_python/include/Python.h
- then
- PYTHON_INCLUDES=$with_python/include
- else
- echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
- fi
- fi
- fi
- fi
- fi
- if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
- then
- if test -d $libdir/python$PYTHON_VERSION/site-packages
- then
- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
- else
- if test -d $with_python/lib/site-packages
- then
- PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
- else
- PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
- fi
- fi
- fi
- pythondir='$(PYTHON_SITE_PACKAGES)'
- PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
-else
- PYTHON=
-fi
-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
-if test "$PYTHON_INCLUDES" != ""
-then
- PYTHON_SUBDIR=python
-else
- PYTHON_SUBDIR=
-fi
-AC_SUBST(pythondir)
-AC_SUBST(PYTHON_SUBDIR)
-AC_SUBST(PYTHON_LIBS)
-
-dnl check for dso support
-WITH_MODULES=0
-TEST_MODULES=
-
-if test "$with_modules" != "no" ; then
- case "$host" in
- *-*-cygwin*)
- MODULE_EXTENSION=".dll"
- AC_CHECK_LIB(cygwin, dlopen, [
- WITH_MODULES=1
- MODULE_PLATFORM_LIBS=
- AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
- ])
- ;;
- *-*-mingw*)
- MODULE_EXTENSION=".dll"
- WITH_MODULES=1
- ;;
- *)
- AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
- AC_CHECK_LIB(dld, shl_load, [
- MODULE_PLATFORM_LIBS="-ldld"
- libxml_have_shl_load=yes], [
- AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [
- AC_CHECK_LIB(dl, dlopen, [
- MODULE_PLATFORM_LIBS="-ldl"
- libxml_have_dlopen=yes])])])])
-
- if test "${libxml_have_shl_load}" = "yes"; then
- MODULE_EXTENSION=".sl"
- WITH_MODULES=1
- AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])
- fi
-
- if test "${libxml_have_dlopen}" = "yes"; then
- case "${host}" in
- *-*-hpux* )
- MODULE_EXTENSION=".sl"
- ;;
- * )
- MODULE_EXTENSION=".so"
- ;;
- esac
-
- WITH_MODULES=1
- AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
- fi
- ;;
- esac
-fi
-
-if test "${WITH_MODULES}" = "1"; then
- TEST_MODULES="ModuleTests"
-fi
-
-AC_SUBST(WITH_MODULES)
-AC_SUBST(MODULE_PLATFORM_LIBS)
-AC_SUBST(MODULE_EXTENSION)
-AC_SUBST(TEST_MODULES)
-
-dnl
-dnl Tester makes use of readline if present
-dnl
-
-dnl
-dnl specific tests to setup DV and Bill's devel environments with debug etc ...
-dnl (-Wunreachable-code)
-dnl
-if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
- [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \
- [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]]
- then
- if test "$with_minimum" != "yes"
- then
- if test "${with_mem_debug}" = "" ; then
- echo Activating memory debugging
- with_mem_debug="yes"
- with_run_debug="yes"
- fi
- if test "${with_docbook}" = "" ; then
- with_docbook="yes"
- fi
- fi
- if test "${GCC}" = "yes" ; then
- CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
- fi
- STATIC_BINARIES="-static"
-dnl -Wcast-qual -ansi
-else
- STATIC_BINARIES=
-fi
-AC_SUBST(STATIC_BINARIES)
-
-dnl
-dnl Check for trio string functions
-dnl
-
-if test "${NEED_TRIO}" = "1" ; then
- echo Adding trio library for string functions
- WITH_TRIO=1
-else
- WITH_TRIO=0
-fi
-AM_CONDITIONAL(WITH_TRIO_SOURCES, test "${NEED_TRIO}" = "1")
-AC_SUBST(WITH_TRIO)
-
-dnl
-dnl Allow to enable/disable various pieces
-dnl
-echo Checking configuration requirements
-
-dnl
-dnl Thread-related stuff
-dnl
-THREAD_LIBS=""
-BASE_THREAD_LIBS=""
-WITH_THREADS=0
-THREAD_CFLAGS=""
-TEST_THREADS=""
-THREADS_W32=""
-WITH_THREAD_ALLOC=0
-
-if test "$with_threads" = "no" ; then
- echo Disabling multithreaded support
-else
- echo Enabling multithreaded support
-
- dnl Default to native threads on Win32
- case $host_os in
- *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
- WITH_THREADS="1"
- THREADS_W32="1"
- THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
- fi
- ;;
- esac
-
- dnl Use pthread by default in other cases
- if test -z "$THREADS_W32"; then
- if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then
- AC_CHECK_HEADER(pthread.h,
- AC_CHECK_LIB(pthread, pthread_join,[
- THREAD_LIBS="-lpthread"
- AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
- AC_DEFINE([HAVE_PTHREAD_H], [], [Define if is there])
- WITH_THREADS="1"]))
- fi
- fi
-
- case $host_os in
- *cygwin*) THREAD_LIBS=""
- ;;
- *beos*) WITH_THREADS="1"
- THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
- ;;
- *linux*)
- if test "${GCC}" = "yes" ; then
- GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
- GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
- GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
- if test "${THREAD_LIBS}" = "-lpthread" ; then
- if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
- then
- THREAD_LIBS=""
- BASE_THREAD_LIBS="-lpthread"
- else
- if expr ${GCC_MAJOR} \> 3 > /dev/null
- then
- THREAD_LIBS=""
- BASE_THREAD_LIBS="-lpthread"
- else
- echo old GCC disabling weak symbols for pthread
- fi
- fi
- fi
- fi
- ;;
- esac
- if test "$WITH_THREADS" = "1" ; then
- THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
- TEST_THREADS="Threadtests"
- fi
-fi
-if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
- WITH_THREAD_ALLOC=1
-fi
-
-AC_SUBST(THREAD_LIBS)
-AC_SUBST(BASE_THREAD_LIBS)
-AC_SUBST(WITH_THREADS)
-AC_SUBST(THREAD_CFLAGS)
-AC_SUBST(TEST_THREADS)
-AC_SUBST(WITH_THREAD_ALLOC)
-AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"])
-
-dnl
-dnl xmllint shell history
-dnl
-if test "$with_history" = "yes" ; then
- echo Enabling xmllint shell history
- dnl check for terminal library. this is a very cool solution
- dnl from octave's configure.in
- unset tcap
- for termlib in ncurses curses termcap terminfo termlib; do
- AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
- test -n "$tcap" && break
- done
-
- AC_CHECK_HEADER(readline/history.h,
- AC_CHECK_LIB(history, append_history,[
- RDL_LIBS="-lhistory"
- AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
- AC_CHECK_HEADER(readline/readline.h,
- AC_CHECK_LIB(readline, readline,[
- RDL_LIBS="-lreadline $RDL_LIBS $tcap"
- AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
- if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
- CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
- RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
- fi
-fi
-
-dnl
-dnl Tree functions
-dnl
-if test "$with_tree" = "no" ; then
- echo Disabling DOM like tree manipulation APIs
- WITH_TREE=0
-else
- WITH_TREE=1
-fi
-AC_SUBST(WITH_TREE)
-
-if test "$with_ftp" = "no" ; then
- echo Disabling FTP support
- WITH_FTP=0
- FTP_OBJ=
-else
- WITH_FTP=1
- FTP_OBJ=nanoftp.o
-fi
-AC_SUBST(WITH_FTP)
-AC_SUBST(FTP_OBJ)
-
-if test "$with_http" = "no" ; then
- echo Disabling HTTP support
- WITH_HTTP=0
- HTTP_OBJ=
-else
- WITH_HTTP=1
- HTTP_OBJ=nanohttp.o
-fi
-AC_SUBST(WITH_HTTP)
-AC_SUBST(HTTP_OBJ)
-
-if test "$with_legacy" = "no" ; then
- echo Disabling deprecated APIs
- WITH_LEGACY=0
-else
- WITH_LEGACY=1
-fi
-AC_SUBST(WITH_LEGACY)
-
-if test "$with_reader" = "no" ; then
- echo Disabling the xmlReader parsing interface
- WITH_READER=0
- READER_TEST=
-else
- WITH_READER=1
- READER_TEST=Readertests
- if test "$with_push" = "no" ; then
- echo xmlReader requires Push interface - enabling it
- with_push=yes
- fi
-fi
-AC_SUBST(WITH_READER)
-AC_SUBST(READER_TEST)
-
-if test "$with_writer" = "no" ; then
- echo Disabling the xmlWriter saving interface
- WITH_WRITER=0
-# WRITER_TEST=
-else
- WITH_WRITER=1
-# WRITER_TEST=Writertests
- if test "$with_push" = "no" ; then
- echo xmlWriter requires Push interface - enabling it
- with_push=yes
- fi
- if test "$with_output" = "no" ; then
- echo xmlWriter requires Output interface - enabling it
- with_output=yes
- fi
-fi
-AC_SUBST(WITH_WRITER)
-#AC_SUBST(WRITER_TEST)
-
-if test "$with_pattern" = "no" ; then
- echo Disabling the xmlPattern parsing interface
- WITH_PATTERN=0
- TEST_PATTERN=
-else
- WITH_PATTERN=1
- TEST_PATTERN=Patterntests
-fi
-AC_SUBST(WITH_PATTERN)
-AC_SUBST(TEST_PATTERN)
-
-if test "$with_sax1" = "no" ; then
- echo Disabling the older SAX1 interface
- WITH_SAX1=0
- TEST_SAX=
-else
- WITH_SAX1=1
- TEST_SAX=SAXtests
-fi
-AC_SUBST(WITH_SAX1)
-AM_CONDITIONAL(WITH_SAX1_SOURCES, test "${WITH_TRIO}" = "1")
-AC_SUBST(TEST_SAX)
-
-if test "$with_push" = "no" ; then
- echo Disabling the PUSH parser interfaces
- WITH_PUSH=0
- TEST_PUSH=
-else
- WITH_PUSH=1
- TEST_PUSH="XMLPushtests"
-fi
-AC_SUBST(WITH_PUSH)
-AC_SUBST(TEST_PUSH)
-
-if test "$with_html" = "no" ; then
- echo Disabling HTML support
- WITH_HTML=0
- HTML_OBJ=
- TEST_HTML=
-else
- WITH_HTML=1
- HTML_OBJ="HTMLparser.o HTMLtree.o"
- TEST_HTML=HTMLtests
- if test "$with_push" != "no" ; then
- TEST_PHTML=HTMLPushtests
- else
- TEST_PHTML=
- fi
-fi
-AC_SUBST(WITH_HTML)
-AC_SUBST(HTML_OBJ)
-AC_SUBST(TEST_HTML)
-AC_SUBST(TEST_PHTML)
-
-if test "$with_valid" = "no" ; then
- echo Disabling DTD validation support
- WITH_VALID=0
- TEST_VALID=
- TEST_VTIME=
-else
- WITH_VALID=1
- TEST_VALID=Validtests
- TEST_VTIME=VTimingtests
-fi
-AC_SUBST(WITH_VALID)
-AC_SUBST(TEST_VALID)
-AC_SUBST(TEST_VTIME)
-
-if test "$with_catalog" = "no" ; then
- echo Disabling Catalog support
- WITH_CATALOG=0
- CATALOG_OBJ=
- TEST_CATALOG=
-else
- WITH_CATALOG=1
- CATALOG_OBJ="catalog.o"
- TEST_CATALOG=Catatests
-fi
-AC_SUBST(WITH_CATALOG)
-AC_SUBST(CATALOG_OBJ)
-AC_SUBST(TEST_CATALOG)
-
-if test "$with_docbook" = "no" ; then
- echo Disabling Docbook support
- WITH_DOCB=0
- DOCB_OBJ=
-else
- WITH_DOCB=1
- DOCB_OBJ="DOCBparser.o"
-fi
-AC_SUBST(WITH_DOCB)
-AC_SUBST(DOCB_OBJ)
-
-
-if test "$with_xptr" = "no" ; then
- echo Disabling XPointer support
- WITH_XPTR=0
- XPTR_OBJ=
- TEST_XPTR=
-else
- WITH_XPTR=1
- XPTR_OBJ=xpointer.o
- TEST_XPTR=XPtrtests
- if test "$with_xpath" = "no" ; then
- echo XPointer requires XPath support - enabling it
- with_xpath=yes
- fi
-fi
-AC_SUBST(WITH_XPTR)
-AC_SUBST(XPTR_OBJ)
-AC_SUBST(TEST_XPTR)
-
-if test "$with_c14n" = "no" ; then
- echo Disabling C14N support
- WITH_C14N=0
- C14N_OBJ=
- TEST_C14N=
-else
- WITH_C14N=1
- C14N_OBJ="c14n.c"
- TEST_C14N=C14Ntests
- if test "$with_xpath" = "no" ; then
- echo C14N requires XPath support - enabling it
- with_xpath=yes
- fi
-fi
-AC_SUBST(WITH_C14N)
-AC_SUBST(C14N_OBJ)
-AC_SUBST(TEST_C14N)
-
-if test "$with_xinclude" = "no" ; then
- echo Disabling XInclude support
- WITH_XINCLUDE=0
- XINCLUDE_OBJ=
- with_xinclude="no"
- TEST_XINCLUDE=
-else
- WITH_XINCLUDE=1
- XINCLUDE_OBJ=xinclude.o
- TEST_XINCLUDE=XIncludetests
- if test "$with_xpath" = "no" ; then
- echo XInclude requires XPath support - enabling it
- with_xpath=yes
- fi
-fi
-AC_SUBST(WITH_XINCLUDE)
-AC_SUBST(XINCLUDE_OBJ)
-AC_SUBST(TEST_XINCLUDE)
-
-if test "$with_xpath" = "no" ; then
- echo Disabling XPATH support
- WITH_XPATH=0
- XPATH_OBJ=
- TEST_XPATH=
-else
- WITH_XPATH=1
- XPATH_OBJ=xpath.o
- TEST_XPATH=XPathtests
-fi
-AC_SUBST(WITH_XPATH)
-AC_SUBST(XPATH_OBJ)
-AC_SUBST(TEST_XPATH)
-
-dnl
-dnl output functions
-dnl
-if test "$with_output" = "no" ; then
- echo Disabling serialization/saving support
- WITH_OUTPUT=0
-else
- WITH_OUTPUT=1
-fi
-AC_SUBST(WITH_OUTPUT)
-
-WITH_ICONV=0
-if test "$with_iconv" = "no" ; then
- echo Disabling ICONV support
-else
- if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
- CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
- # Export this since our headers include iconv.h
- XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
- ICONV_LIBS="-L$with_iconv/lib"
- fi
-
- AC_CHECK_HEADER(iconv.h,
- AC_MSG_CHECKING(for iconv)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include
-#include ]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
- AC_MSG_RESULT(yes)
- WITH_ICONV=1],[
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(for iconv in -liconv)
-
- _ldflags="${LDFLAGS}"
- _libs="${LIBS}"
- LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
- LIBS="${LIBS} -liconv"
-
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include
-#include ]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
- AC_MSG_RESULT(yes)
- WITH_ICONV=1
- ICONV_LIBS="${ICONV_LIBS} -liconv"
- LIBS="${_libs}"
- LDFLAGS="${_ldflags}"],[
- AC_MSG_RESULT(no)
- LIBS="${_libs}"
- LDFLAGS="${_ldflags}"])]))
-
- if test "$WITH_ICONV" = "1" ; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(xml_cv_iconv_arg2, [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include
-#include
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-]], [])], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")])
-
- xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
- AC_MSG_RESULT([${xml_xxx:-
- }$xml_cv_iconv_decl])
- AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2,
- [Define as const if the declaration of iconv() needs const.])
- fi
-fi
-case "$host" in
- *mingw*) M_LIBS=""
- ;;
- *beos*) M_LIBS=""
- ;;
- *haiku*) M_LIBS=""
- ;;
- *) M_LIBS="-lm"
- ;;
-esac
-XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
-XML_LIBTOOLLIBS="libxml2.la"
-AC_SUBST(WITH_ICONV)
-
-WITH_ICU=0
-ICU_LIBS=""
-if test "$with_icu" != "yes" ; then
- echo Disabling ICU support
-else
- ICU_CONFIG=icu-config
- if ${ICU_CONFIG} --cflags >/dev/null 2>&1
- then
- ICU_LIBS=`${ICU_CONFIG} --ldflags`
- WITH_ICU=1
- echo Enabling ICU support
- else
- AC_MSG_ERROR([libicu config program icu-config not found])
- fi
-fi
-AC_SUBST(WITH_ICU)
-AC_SUBST(ICU_LIBS)
-
-WITH_ISO8859X=1
-if test "$WITH_ICONV" != "1" ; then
-if test "$with_iso8859x" = "no" ; then
- echo Disabling ISO8859X support
- WITH_ISO8859X=0
-fi
-fi
-AC_SUBST(WITH_ISO8859X)
-
-if test "$with_schematron" = "no" ; then
- echo "Disabling Schematron support"
- WITH_SCHEMATRON=0
- TEST_SCHEMATRON=
-else
- echo "Enabled Schematron support"
- WITH_SCHEMATRON=1
- TEST_SCHEMATRON="Schematrontests"
- with_xpath=yes
- with_pattern=yes
-fi
-AC_SUBST(WITH_SCHEMATRON)
-AC_SUBST(TEST_SCHEMATRON)
-
-if test "$with_schemas" = "no" ; then
- echo "Disabling Schemas/Relax-NG support"
- WITH_SCHEMAS=0
- TEST_SCHEMAS=
-else
- echo "Enabled Schemas/Relax-NG support"
- WITH_SCHEMAS=1
- TEST_SCHEMAS="Schemastests Relaxtests"
- if test "$PYTHON_INCLUDES" != "" ; then
- PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
- fi
- with_regexps=yes
-fi
-AC_SUBST(WITH_SCHEMAS)
-AC_SUBST(TEST_SCHEMAS)
-
-if test "$with_regexps" = "no" ; then
- echo Disabling Regexps support
- WITH_REGEXPS=0
- TEST_REGEXPS=
-else
- WITH_REGEXPS=1
- TEST_REGEXPS="Regexptests Automatatests"
-fi
-AC_SUBST(WITH_REGEXPS)
-AC_SUBST(TEST_REGEXPS)
-
-if test "$with_debug" = "no" ; then
- echo Disabling DEBUG support
- WITH_DEBUG=0
- DEBUG_OBJ=
- TEST_DEBUG=
-else
- WITH_DEBUG=1
- DEBUG_OBJ=debugXML.o
- TEST_DEBUG=Scripttests
-fi
-AC_SUBST(WITH_DEBUG)
-AC_SUBST(DEBUG_OBJ)
-AC_SUBST(TEST_DEBUG)
-
-if test "$with_mem_debug" = "yes" ; then
- if test "$with_thread_alloc" = "yes" ; then
- echo Disabling memory debug - cannot use mem-debug with thread-alloc!
- WITH_MEM_DEBUG=0
- else
- echo Enabling memory debug support
- WITH_MEM_DEBUG=1
- fi
-else
- WITH_MEM_DEBUG=0
-fi
-AC_SUBST(WITH_MEM_DEBUG)
-
-if test "$with_run_debug" = "yes" ; then
- echo Enabling runtime debug support
- WITH_RUN_DEBUG=1
-else
- WITH_RUN_DEBUG=0
-fi
-AC_SUBST(WITH_RUN_DEBUG)
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_PYTHON_LIBADD=
-WIN32_EXTRA_PYTHON_LIBADD=
-case "$host" in
- *-*-mingw*)
- CPPFLAGS="$CPPFLAGS -DWIN32"
- WIN32_EXTRA_LIBADD="-lws2_32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
- if test "${PYTHON}" != ""
- then
- WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)"
- fi
- ;;
- *-*-cygwin*)
- CYGWIN_EXTRA_LDFLAGS="-no-undefined"
- if test "${PYTHON}" != ""
- then
- CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
- fi
- ;;
-esac
-AC_SUBST(WIN32_EXTRA_LIBADD)
-AC_SUBST(WIN32_EXTRA_LDFLAGS)
-AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD)
-AC_SUBST(CYGWIN_EXTRA_LDFLAGS)
-AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD)
-
-dnl Checking the standard string functions availability
-dnl
-dnl Note mingw* has C99 implementation that produce expected xml numbers
-dnl if code use {v}snprintf functions.
-dnl If you like to activate at run-time C99 compatible number output
-dnl see release note for mingw runtime 3.15:
-dnl http://sourceforge.net/project/shownotes.php?release_id=24832
-dnl
-dnl Also *win32*config.h files redefine them for various MSC compilers.
-dnl
-dnl So do not redefine {v}snprintf to _{v}snprintf like follwing:
-dnl AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
-dnl AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
-dnl and do not redefine those functions is C-source files.
-dnl
-AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
- NEED_TRIO=1)
-
-if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
-then
- echo Enabling code coverage for GCC
- CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
- LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
-else
- echo Disabling code coverage for GCC
-fi
-
-AC_SUBST(CPPFLAGS)
-AC_SUBST(CFLAGS)
-AC_SUBST(LDFLAGS)
-AC_SUBST(XML_CFLAGS)
-
-AC_SUBST(XML_LIBDIR)
-AC_SUBST(XML_LIBS)
-AC_SUBST(XML_LIBTOOLLIBS)
-AC_SUBST(ICONV_LIBS)
-AC_SUBST(XML_INCLUDEDIR)
-AC_SUBST(HTML_DIR)
-AC_SUBST(HAVE_ISNAN)
-AC_SUBST(HAVE_ISINF)
-AC_SUBST(PYTHON)
-AC_SUBST(PYTHON_VERSION)
-AC_SUBST(PYTHON_INCLUDES)
-AC_SUBST(PYTHON_SITE_PACKAGES)
-
-AC_SUBST(M_LIBS)
-AC_SUBST(RDL_LIBS)
-
-dnl for the spec file
-RELDATE=`date +'%a %b %e %Y'`
-AC_SUBST(RELDATE)
-AC_SUBST(PYTHON_TESTS)
-
-rm -f COPYING.LIB COPYING
-ln -s $srcdir/Copyright COPYING
-
-# keep on one line for cygwin c.f. #130896
-AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py])
-AC_OUTPUT
-
-chmod +x xml2-config python/setup.py
-echo Done configuring
diff --git a/DesktopEditor/xml/libxml2/debugXML.c b/DesktopEditor/xml/libxml2/debugXML.c
index 72ebd4bb1d..6f2f1d552d 100644
--- a/DesktopEditor/xml/libxml2/debugXML.c
+++ b/DesktopEditor/xml/libxml2/debugXML.c
@@ -44,10 +44,10 @@ struct _xmlDebugCtxt {
int depth; /* current depth */
xmlDocPtr doc; /* current document */
xmlNodePtr node; /* current node */
- xmlDictPtr dict; /* the doc dictionnary */
+ xmlDictPtr dict; /* the doc dictionary */
int check; /* do just checkings */
int errors; /* number of errors found */
- int nodict; /* if the document has no dictionnary */
+ int nodict; /* if the document has no dictionary */
int options; /* options */
};
@@ -164,7 +164,7 @@ xmlDebugErr(xmlDebugCtxtPtr ctxt, int error, const char *msg)
NULL, NULL, NULL, 0, 0,
"%s", msg);
}
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlDebugErr2(xmlDebugCtxtPtr ctxt, int error, const char *msg, int extra)
{
ctxt->errors++;
@@ -174,7 +174,7 @@ xmlDebugErr2(xmlDebugCtxtPtr ctxt, int error, const char *msg, int extra)
NULL, NULL, NULL, 0, 0,
msg, extra);
}
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
xmlDebugErr3(xmlDebugCtxtPtr ctxt, int error, const char *msg, const char *extra)
{
ctxt->errors++;
@@ -243,7 +243,7 @@ xmlCtxtCheckString(xmlDebugCtxtPtr ctxt, const xmlChar * str)
* @ctxt: the debug context
* @name: the name
*
- * Do debugging on the name, for example the dictionnary status and
+ * Do debugging on the name, for example the dictionary status and
* conformance to the Name production.
*/
static void
@@ -254,16 +254,18 @@ xmlCtxtCheckName(xmlDebugCtxtPtr ctxt, const xmlChar * name)
xmlDebugErr(ctxt, XML_CHECK_NO_NAME, "Name is NULL");
return;
}
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
if (xmlValidateName(name, 0)) {
xmlDebugErr3(ctxt, XML_CHECK_NOT_NCNAME,
"Name is not an NCName '%s'", (const char *) name);
}
+#endif
if ((ctxt->dict != NULL) &&
(!xmlDictOwns(ctxt->dict, name)) &&
((ctxt->doc == NULL) ||
((ctxt->doc->parseFlags & (XML_PARSE_SAX1 | XML_PARSE_NODICT)) == 0))) {
xmlDebugErr3(ctxt, XML_CHECK_OUTSIDE_DICT,
- "Name is not from the document dictionnary '%s'",
+ "Name is not from the document dictionary '%s'",
(const char *) name);
}
}
@@ -290,7 +292,7 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
/* desactivated right now as it raises too many errors */
if (doc->type == XML_DOCUMENT_NODE)
xmlDebugErr(ctxt, XML_CHECK_NO_DICT,
- "Document has no dictionnary\n");
+ "Document has no dictionary\n");
#endif
ctxt->nodict = 1;
}
@@ -3241,7 +3243,12 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
ctxt->node = (xmlNodePtr) ctxt->doc;
} else {
#ifdef LIBXML_XPATH_ENABLED
+ int l;
+
ctxt->pctxt->node = ctxt->node;
+ l = strlen(arg);
+ if ((l >= 2) && (arg[l - 1] == '/'))
+ arg[l - 1] = 0;
list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt);
#else
list = NULL;
diff --git a/DesktopEditor/xml/libxml2/dict.c b/DesktopEditor/xml/libxml2/dict.c
index 10c65fd9cd..a15b45376f 100644
--- a/DesktopEditor/xml/libxml2/dict.c
+++ b/DesktopEditor/xml/libxml2/dict.c
@@ -87,7 +87,7 @@ typedef unsigned __int32 uint32_t;
#endif /* WITH_BIG_KEY */
/*
- * An entry in the dictionnary
+ * An entry in the dictionary
*/
typedef struct _xmlDictEntry xmlDictEntry;
typedef xmlDictEntry *xmlDictEntryPtr;
@@ -110,7 +110,7 @@ struct _xmlDictStrings {
xmlChar array[1];
};
/*
- * The entire dictionnary
+ * The entire dictionary
*/
struct _xmlDict {
int ref_counter;
@@ -229,7 +229,7 @@ xmlDictCleanup(void) {
/*
* xmlDictAddString:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @name: the name of the userdata
* @len: the length of the name
*
@@ -291,7 +291,7 @@ found_pool:
/*
* xmlDictAddQString:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @prefix: the prefix of the userdata
* @plen: the prefix length
* @name: the name of the userdata
@@ -486,7 +486,10 @@ xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
value += 30 * (*prefix);
if (len > 10) {
- value += name[len - (plen + 1 + 1)];
+ int offset = len - (plen + 1 + 1);
+ if (offset < 0)
+ offset = len - (10 + 1);
+ value += name[offset];
len = 10;
if (plen > 10)
plen = 10;
@@ -530,7 +533,7 @@ xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
*
* Create a new dictionary
*
- * Returns the newly created dictionnary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occured.
*/
xmlDictPtr
xmlDictCreate(void) {
@@ -570,14 +573,14 @@ xmlDictCreate(void) {
/**
* xmlDictCreateSub:
- * @sub: an existing dictionnary
+ * @sub: an existing dictionary
*
* Create a new dictionary, inheriting strings from the read-only
- * dictionnary @sub. On lookup, strings are first searched in the
- * new dictionnary, then in @sub, and if not found are created in the
- * new dictionnary.
+ * dictionary @sub. On lookup, strings are first searched in the
+ * new dictionary, then in @sub, and if not found are created in the
+ * new dictionary.
*
- * Returns the newly created dictionnary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occured.
*/
xmlDictPtr
xmlDictCreateSub(xmlDictPtr sub) {
@@ -596,7 +599,7 @@ xmlDictCreateSub(xmlDictPtr sub) {
/**
* xmlDictReference:
- * @dict: the dictionnary
+ * @dict: the dictionary
*
* Increment the reference counter of a dictionary
*
@@ -617,10 +620,10 @@ xmlDictReference(xmlDictPtr dict) {
/**
* xmlDictGrow:
- * @dict: the dictionnary
- * @size: the new size of the dictionnary
+ * @dict: the dictionary
+ * @size: the new size of the dictionary
*
- * resize the dictionnary
+ * resize the dictionary
*
* Returns 0 in case of success, -1 in case of failure
*/
@@ -752,7 +755,7 @@ xmlDictGrow(xmlDictPtr dict, size_t size) {
/**
* xmlDictFree:
- * @dict: the dictionnary
+ * @dict: the dictionary
*
* Free the hash @dict and its contents. The userdata is
* deallocated with @f if provided.
@@ -814,11 +817,11 @@ xmlDictFree(xmlDictPtr dict) {
/**
* xmlDictLookup:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @name: the name of the userdata
* @len: the length of the name, if -1 it is recomputed
*
- * Add the @name to the dictionnary @dict if not present.
+ * Add the @name to the dictionary @dict if not present.
*
* Returns the internal copy of the name or NULL in case of internal error
*/
@@ -954,11 +957,11 @@ xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len) {
/**
* xmlDictExists:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @name: the name of the userdata
* @len: the length of the name, if -1 it is recomputed
*
- * Check if the @name exists in the dictionnary @dict.
+ * Check if the @name exists in the dictionary @dict.
*
* Returns the internal copy of the name or NULL if not found.
*/
@@ -1062,7 +1065,7 @@ xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len) {
/**
* xmlDictQLookup:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @prefix: the prefix
* @name: the name
*
@@ -1167,7 +1170,7 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) {
/**
* xmlDictOwns:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @str: the string
*
* check if a string is owned by the disctionary
@@ -1194,11 +1197,11 @@ xmlDictOwns(xmlDictPtr dict, const xmlChar *str) {
/**
* xmlDictSize:
- * @dict: the dictionnary
+ * @dict: the dictionary
*
* Query the number of elements installed in the hash @dict.
*
- * Returns the number of elements in the dictionnary or
+ * Returns the number of elements in the dictionary or
* -1 in case of error
*/
int
@@ -1212,7 +1215,7 @@ xmlDictSize(xmlDictPtr dict) {
/**
* xmlDictSetLimit:
- * @dict: the dictionnary
+ * @dict: the dictionary
* @limit: the limit in bytes
*
* Set a size limit for the dictionary
@@ -1233,7 +1236,7 @@ xmlDictSetLimit(xmlDictPtr dict, size_t limit) {
/**
* xmlDictGetUsage:
- * @dict: the dictionnary
+ * @dict: the dictionary
*
* Get how much memory is used by a dictionary for strings
* Added in 2.9.0
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk1.html b/DesktopEditor/xml/libxml2/doc/APIchunk1.html
index d61becf023..c285f477b9 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk1.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk1.html
@@ -198,7 +198,7 @@ A:link, A:visited, A:active { text-decoration: underline }
htmlParseChunk
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
-DoctRenderer
+xmlParseChunk
xmlParseInNodeContext
Cleanup xmlCleanupCharEncodingHandlers
xmlCleanupPredefinedEntities
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk11.html b/DesktopEditor/xml/libxml2/doc/APIchunk11.html
index d80cad3896..8103bb619a 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk11.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk11.html
@@ -223,13 +223,13 @@ A:link, A:visited, A:active { text-decoration: underline }
branch xmlDOMWrapCloneNode
xmlDOMWrapRemoveNode
xmlSchemaValidateOneElement
-break _xmlError
-xmlDOMWrapAdoptNode
+break xmlDOMWrapAdoptNode
xmlDOMWrapCloneNode
xmlDOMWrapReconcileNamespaces
xmlLineNumbersDefault
breaking xmlEncodeEntities
breaks xmlCurrentChar
+brk _xmlError
broke XML_CAST_FPTR
broken xmlGetThreadId
xmlParseBalancedChunkMemoryRecover
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk12.html b/DesktopEditor/xml/libxml2/doc/APIchunk12.html
index 0faf52e5f5..7a1c196941 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk12.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk12.html
@@ -73,6 +73,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlC14NExecute
xmlGetCharEncodingName
xmlSchemaGetCanonValue
+xmlSchemaGetCanonValueWhtsp
canonicalization xmlC14NDocDumpMemory
xmlC14NDocSave
xmlC14NDocSaveTo
@@ -263,7 +264,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlEntityReferenceFunc
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
-DoctRenderer
+xmlParseChunk
xmlParseEntity
xmlParseExternalEntity
xmlParseInNodeContext
@@ -575,8 +576,6 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlNanoHTTPOpenRedir
xmlNanoHTTPRead
connector xmlParseElementChildrenContentDecl
-cononical xmlSchemaGetCanonValue
-xmlSchemaGetCanonValueWhtsp
consequent _xmlError
consideration xmlBuildRelativeURI
considered xmlHashScan3
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk13.html b/DesktopEditor/xml/libxml2/doc/APIchunk13.html
index dcc87cf0ff..e7169f945b 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk13.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk13.html
@@ -383,34 +383,6 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlRegexpIsDeterminist
dict _xmlDoc
dictionaries XML_MAX_NAME_LENGTH
-dictionary XML_MAX_DICTIONARY_LIMIT
-_xmlParserCtxt
-_xmlXPathContext
-xmlDictCleanup
-xmlDictCreate
-xmlDictCreateSub
-xmlDictGetUsage
-xmlDictReference
-xmlDictSetLimit
-xmlHashCreateDict
-xmlInitializeDict
-xmlPatterncompile
-xmlStreamPush
-xmlStreamPushAttr
-xmlStreamPushNode
-dictionnary _xmlParserCtxt
-xmlDictCreate
-xmlDictCreateSub
-xmlDictExists
-xmlDictFree
-xmlDictGetUsage
-xmlDictLookup
-xmlDictOwns
-xmlDictQLookup
-xmlDictReference
-xmlDictSetLimit
-xmlDictSize
-xmlExpNewCtxt
did XML_SCHEMAS_TYPE_BLOCK_DEFAULT
xmlTextReaderGetRemainder
xmlTextReaderStandalone
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk14.html b/DesktopEditor/xml/libxml2/doc/APIchunk14.html
index df996f61af..4127bf1cf7 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk14.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk14.html
@@ -188,7 +188,6 @@ A:link, A:visited, A:active { text-decoration: underline }
ensuring xmlDOMWrapRemoveNode
entire xmlCleanupInputCallbacks
xmlCleanupOutputCallbacks
-entites _xmlEntity
entities: xmlParseEntityRef
xmlParserHandleReference
entproc xmlParserHandlePEReference
@@ -267,7 +266,6 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlXPathConvertBoolean
xmlXPathConvertNumber
xmlXPathConvertString
-errror xmlDOMWrapNewCtxt
escape docbEncodeEntities
htmlEncodeEntities
xmlURIEscape
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk17.html b/DesktopEditor/xml/libxml2/doc/APIchunk17.html
index 43e4f351dc..e31d79dfaa 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk17.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk17.html
@@ -257,7 +257,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlParserInputRead
indicator docbParseChunk
htmlParseChunk
-DoctRenderer
+xmlParseChunk
indirect xmlParseAttribute
indirectly xmlParseAttribute
xmlParsePEReference
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk26.html b/DesktopEditor/xml/libxml2/doc/APIchunk26.html
index 252285d448..7292a6fa89 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk26.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk26.html
@@ -105,12 +105,12 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlHasNsProp
xmlHasProp
xmlXPathNextNamespace
-unliked xmlDOMWrapAdoptNode
unlink xmlFreeNode
xmlUnlinkNode
unlinked xmlAddNextSibling
xmlAddPrevSibling
xmlAddSibling
+xmlDOMWrapAdoptNode
xmlNewEntity
xmlReplaceNode
xmlUnlinkNode
@@ -143,6 +143,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlXPathRegisterVariableNS
unsafe xmlSprintfElementContent
unsigned c
+xmlMallocAtomicLoc
xmlURIUnescapeString
unsupported xmlDOMWrapAdoptNode
xmlDOMWrapCloneNode
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk28.html b/DesktopEditor/xml/libxml2/doc/APIchunk28.html
index 8a1358342d..f24fd15af4 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk28.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk28.html
@@ -326,7 +326,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlOutputOpenCallback xmlRegisterOutputCallbacks
xmlOutputWriteCallback xmlRegisterOutputCallbacks
xmlParseAttValue xmlParseDefaultDecl
-DoctRenderer xmlCreatePushParserCtxt
+xmlParseChunk xmlCreatePushParserCtxt
xmlParseElementContentDecl xmlParseElementChildrenContentDecl
xmlParseElementMixedContentDecl
xmlParseElementDecl xmlParseElementContentDecl
@@ -341,7 +341,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlParserError _xmlError
xmlParserErrors docbParseChunk
htmlParseChunk
-DoctRenderer
+xmlParseChunk
xmlParserFindNodeInfoIndex xmlParserFindNodeInfoIndex
xmlParserHandleReference xmlScanName
xmlParserInputBuffer LIBXML2_NEW_BUFFER
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk29.html b/DesktopEditor/xml/libxml2/doc/APIchunk29.html
index 7ce14c9604..c53f07bba7 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk29.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk29.html
@@ -85,7 +85,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlOutputBufferWriteString
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
-DoctRenderer
+xmlParseChunk
xmlReadDoc
xmlReaderForDoc
xmlReaderNewDoc
diff --git a/DesktopEditor/xml/libxml2/doc/APIchunk5.html b/DesktopEditor/xml/libxml2/doc/APIchunk5.html
index 3fde381638..59e7cfed1f 100644
--- a/DesktopEditor/xml/libxml2/doc/APIchunk5.html
+++ b/DesktopEditor/xml/libxml2/doc/APIchunk5.html
@@ -125,7 +125,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
xmlParseCDSect
-DoctRenderer
+xmlParseChunk
xmlParseContent
xmlParseCtxtExternalEntity
xmlParseDefaultDecl
diff --git a/DesktopEditor/xml/libxml2/doc/APIfiles.html b/DesktopEditor/xml/libxml2/doc/APIfiles.html
index 8f11fb739b..c0d3c5185f 100644
--- a/DesktopEditor/xml/libxml2/doc/APIfiles.html
+++ b/DesktopEditor/xml/libxml2/doc/APIfiles.html
@@ -747,7 +747,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlNewParserCtxt
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
-DoctRenderer
+xmlParseChunk
xmlParseCtxtExternalEntity
xmlParseDTD
xmlParseDoc
@@ -1309,6 +1309,7 @@ A:link, A:visited, A:active { text-decoration: underline }
XML_ATTRIBUTE_NONE
XML_ATTRIBUTE_NOTATION
XML_ATTRIBUTE_REQUIRED
+XML_BUFFER_ALLOC_BOUNDED
XML_BUFFER_ALLOC_DOUBLEIT
XML_BUFFER_ALLOC_EXACT
XML_BUFFER_ALLOC_HYBRID
diff --git a/DesktopEditor/xml/libxml2/doc/APIfunctions.html b/DesktopEditor/xml/libxml2/doc/APIfunctions.html
index 62e9f4a081..fbb8f226c1 100644
--- a/DesktopEditor/xml/libxml2/doc/APIfunctions.html
+++ b/DesktopEditor/xml/libxml2/doc/APIfunctions.html
@@ -109,10 +109,9 @@ A:link, A:visited, A:active { text-decoration: underline }
Type const xlinkTitle: xlinkSimpleLinkFunk
Type const xlinkTitle *: xlinkExtendedLinkFunk
xlinkExtendedLinkSetFunk
-
Type const xmlBufPtr: xmlBufContent
-xmlBufEnd
-xmlBufUse
-
Type const xmlBufferPtr: xmlBufferContent
+
Type const xmlBuf *: xmlBufContent
+
Type const xmlBufPtr: xmlBufUse
+
Type const xmlBuffer *: xmlBufferContent
xmlBufferLength
Type const xmlChRangeGroup *: xmlCharInRange
Type const xmlChar *: attribute
@@ -369,9 +368,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlSplitQName2
xmlSplitQName3
xmlStrEqual
-xmlStrPrintf
xmlStrQEqual
-xmlStrVPrintf
xmlStrcasecmp
xmlStrcasestr
xmlStrcat
@@ -518,13 +515,40 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlTextReaderPreservePattern
xmlValidGetPotentialChildren
xmlValidGetValidElements
+
Type const xmlDoc *: xmlDocGetRootElement
+xmlEncodeSpecialChars
+xmlGetDocCompressMode
+xmlGetDocEntity
+xmlGetIntSubset
+xmlGetNsList
+xmlNewDocText
+xmlNewReference
+xmlNodeGetBase
+xmlNodeListGetRawString
+xmlStringGetNodeList
+xmlStringLenGetNodeList
Type const xmlListPtr: xmlListCopy
xmlListDup
-
Type const xmlNodePtr: xmlCopyNode
-xmlCopyNodeList
-xmlDocCopyNode
-xmlDocCopyNodeList
-xmlParserFindNodeInfo
+
Type const xmlNode *: xmlBufGetNodeContent
+xmlGetLastChild
+xmlGetLineNo
+xmlGetNoNsProp
+xmlGetNodePath
+xmlGetNsList
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlIsBlankNode
+xmlNodeBufGetContent
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlNodeIsText
+xmlNodeListGetRawString
+xmlNodeListGetString
+
Type const xmlNodePtr: xmlParserFindNodeInfo
xmlParserFindNodeInfoIndex
Type const xmlParserCtxtPtr: xmlParserFindNodeInfo
Type const xmlParserNodeInfoPtr: xmlParserAddNodeInfo
@@ -951,7 +975,8 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlAutomataNewTransition
xmlAutomataNewTransition2
xmlAutomataSetFinalState
-
Type xmlBufPtr: xmlBufGetNodeContent
+
Type xmlBufPtr: xmlBufEnd
+xmlBufGetNodeContent
xmlBufNodeDump
xmlBufShrink
Type xmlBufferAllocationScheme: xmlBufferSetAllocationScheme
@@ -1150,20 +1175,14 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlDocDumpMemory
xmlDocDumpMemoryEnc
xmlDocFormatDump
-xmlDocGetRootElement
xmlDocSetRootElement
xmlElemDump
xmlEncodeEntities
xmlEncodeEntitiesReentrant
-xmlEncodeSpecialChars
xmlFreeDoc
xmlFreeDocElementContent
-xmlGetDocCompressMode
-xmlGetDocEntity
xmlGetDtdEntity
xmlGetID
-xmlGetIntSubset
-xmlGetNsList
xmlGetParameterEntity
xmlGetRefs
xmlIsID
@@ -1179,17 +1198,13 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlNewDocPI
xmlNewDocProp
xmlNewDocRawNode
-xmlNewDocText
xmlNewDocTextLen
xmlNewDtd
xmlNewEntity
xmlNewGlobalNs
-xmlNewReference
xmlNewTextWriterTree
xmlNodeDump
xmlNodeDumpOutput
-xmlNodeGetBase
-xmlNodeListGetRawString
xmlNodeListGetString
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
@@ -1221,8 +1236,6 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlSetListDoc
xmlSetTreeDoc
xmlShell
-xmlStringGetNodeList
-xmlStringLenGetNodeList
xmlValidCtxtNormalizeAttributeValue
xmlValidNormalizeAttributeValue
xmlValidateAttributeDecl
@@ -1454,10 +1467,11 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlAddNextSibling
xmlAddPrevSibling
xmlAddSibling
-xmlBufGetNodeContent
xmlBufNodeDump
xmlC14NIsVisibleCallback
xmlChildElementCount
+xmlCopyNode
+xmlCopyNodeList
xmlCopyProp
xmlCopyPropList
xmlDOMWrapAcquireNsFunction
@@ -1469,22 +1483,14 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlDebugDumpNodeList
xmlDebugDumpOneNode
xmlDeregisterNodeFunc
+xmlDocCopyNode
+xmlDocCopyNodeList
xmlDocSetRootElement
xmlElemDump
xmlEntityReferenceFunc
xmlFirstElementChild
xmlFreeNode
xmlFreeNodeList
-xmlGetLastChild
-xmlGetLineNo
-xmlGetNoNsProp
-xmlGetNodePath
-xmlGetNsList
-xmlGetNsProp
-xmlGetProp
-xmlHasNsProp
-xmlHasProp
-xmlIsBlankNode
xmlIsID
xmlIsRef
xmlLastElementChild
@@ -1500,16 +1506,8 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlNextElementSibling
xmlNodeAddContent
xmlNodeAddContentLen
-xmlNodeBufGetContent
xmlNodeDump
xmlNodeDumpOutput
-xmlNodeGetBase
-xmlNodeGetContent
-xmlNodeGetLang
-xmlNodeGetSpacePreserve
-xmlNodeIsText
-xmlNodeListGetRawString
-xmlNodeListGetString
xmlNodeSetBase
xmlNodeSetContent
xmlNodeSetContentLen
@@ -1735,7 +1733,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlParseCDSect
xmlParseCharData
xmlParseCharRef
-DoctRenderer
+xmlParseChunk
xmlParseComment
xmlParseContent
xmlParseCtxtExternalEntity
diff --git a/DesktopEditor/xml/libxml2/doc/APIsymbols.html b/DesktopEditor/xml/libxml2/doc/APIsymbols.html
index c34b18371b..9fe5e6f57b 100644
--- a/DesktopEditor/xml/libxml2/doc/APIsymbols.html
+++ b/DesktopEditor/xml/libxml2/doc/APIsymbols.html
@@ -154,6 +154,7 @@ A:link, A:visited, A:active { text-decoration: underline }
XML_ATTRIBUTE_NONE
XML_ATTRIBUTE_NOTATION
XML_ATTRIBUTE_REQUIRED
+XML_BUFFER_ALLOC_BOUNDED
XML_BUFFER_ALLOC_DOUBLEIT
XML_BUFFER_ALLOC_EXACT
XML_BUFFER_ALLOC_HYBRID
@@ -2455,7 +2456,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlParseCharData
xmlParseCharEncoding
xmlParseCharRef
-DoctRenderer
+xmlParseChunk
xmlParseComment
xmlParseContent
xmlParseCtxtExternalEntity
diff --git a/DesktopEditor/xml/libxml2/doc/apibuild.py b/DesktopEditor/xml/libxml2/doc/apibuild.py
index 2ef3669fe6..a0dcdca13d 100644
--- a/DesktopEditor/xml/libxml2/doc/apibuild.py
+++ b/DesktopEditor/xml/libxml2/doc/apibuild.py
@@ -81,6 +81,7 @@ ignored_words = {
"ATTRIBUTE_PRINTF": (5, "macro for gcc printf args checking extension"),
"LIBXML_ATTR_FORMAT": (5, "macro for gcc printf args checking extension"),
"LIBXML_ATTR_ALLOC_SIZE": (3, "macro for gcc checking extension"),
+ "__XML_EXTERNC": (0, "Special macro added for os400"),
}
def escape(raw):
diff --git a/DesktopEditor/xml/libxml2/doc/devhelp/general.html b/DesktopEditor/xml/libxml2/doc/devhelp/general.html
index f6f0e79644..2a3defb40b 100644
--- a/DesktopEditor/xml/libxml2/doc/devhelp/general.html
+++ b/DesktopEditor/xml/libxml2/doc/devhelp/general.html
@@ -33,6 +33,6 @@
libxml2 API Modules
- DOCBparser - old DocBook SGML parserHTMLparser - interface for an HTML 4.0 non-verifying parserHTMLtree - specific APIs to process HTML tree, especially serializationSAX - Old SAX version 1 handler, deprecatedSAX2 - SAX2 parser interface used to build the DOM treec14n - Provide Canonical XML and Exclusive XML Canonicalizationcatalog - interfaces to the Catalog handling systemchvalid - Unicode character range checkingdebugXML - Tree debugging APIsdict - string dictionnaryencoding - interface for the encoding conversion functionsentities - interface for the XML entities handlingglobals - interface for all global variables of the libraryhash - Chained hash tableslist - lists interfacesnanoftp - minimal FTP implementationnanohttp - minimal HTTP implementationparser - the core parser moduleparserInternals - internals routines and limits exported by the parser.pattern - pattern expression handlingrelaxng - implementation of the Relax-NG validationschemasInternals - internal interfaces for XML Schemasschematron - XML Schemastron implementationthreads - interfaces for thread handlingtree - interfaces for tree manipulationuri - library of generic URI related routinesvalid - The DTD validationxinclude - implementation of XIncludexlink - unfinished XLink detection modulexmlIO - interface for the I/O interfaces used by the parserxmlautomata - API to build regexp automataxmlerror - error handlingxmlexports - macros for marking symbols as exportable/importable.xmlmemory - interface for the memory allocatorxmlmodule - dynamic module loadingxmlreader - the XMLReader implementationxmlregexp - regular expressions handlingxmlsave - the XML document serializerxmlschemas - incomplete XML Schemas structure implementationxmlschemastypes - implementation of XML Schema Datatypesxmlstring - set of routines to process stringsxmlunicode - Unicode character APIsxmlversion - compile-time version informationsxmlwriter - text writing API for XMLxpath - XML Path Language implementationxpathInternals - internal interfaces for XML Path Language implementationxpointer - API to handle XML Pointers
+ DOCBparser - old DocBook SGML parserHTMLparser - interface for an HTML 4.0 non-verifying parserHTMLtree - specific APIs to process HTML tree, especially serializationSAX - Old SAX version 1 handler, deprecatedSAX2 - SAX2 parser interface used to build the DOM treec14n - Provide Canonical XML and Exclusive XML Canonicalizationcatalog - interfaces to the Catalog handling systemchvalid - Unicode character range checkingdebugXML - Tree debugging APIsdict - string dictionaryencoding - interface for the encoding conversion functionsentities - interface for the XML entities handlingglobals - interface for all global variables of the libraryhash - Chained hash tableslist - lists interfacesnanoftp - minimal FTP implementationnanohttp - minimal HTTP implementationparser - the core parser moduleparserInternals - internals routines and limits exported by the parser.pattern - pattern expression handlingrelaxng - implementation of the Relax-NG validationschemasInternals - internal interfaces for XML Schemasschematron - XML Schemastron implementationthreads - interfaces for thread handlingtree - interfaces for tree manipulationuri - library of generic URI related routinesvalid - The DTD validationxinclude - implementation of XIncludexlink - unfinished XLink detection modulexmlIO - interface for the I/O interfaces used by the parserxmlautomata - API to build regexp automataxmlerror - error handlingxmlexports - macros for marking symbols as exportable/importable.xmlmemory - interface for the memory allocatorxmlmodule - dynamic module loadingxmlreader - the XMLReader implementationxmlregexp - regular expressions handlingxmlsave - the XML document serializerxmlschemas - incomplete XML Schemas structure implementationxmlschemastypes - implementation of XML Schema Datatypesxmlstring - set of routines to process stringsxmlunicode - Unicode character APIsxmlversion - compile-time version informationsxmlwriter - text writing API for XMLxpath - XML Path Language implementationxpathInternals - internal interfaces for XML Path Language implementationxpointer - API to handle XML Pointers