These functions shouldn't be part of the public API. Most init
functions are only thread-safe when called from xmlInitParser. Global
variables should only be cleaned up by calling xmlCleanupParser.
This code has been broken and deprecated since version 2.6.0, released
in 2003. Because of a bug in commit 961b535c, DOCBparser.c was never
compiled since 2012. I couldn't find a Debian package using any of its
symbols, so it seems safe to remove this module.
SAX.h contains a legacy interface with several unprefixed symbols
like `reference`, causing severe namespace pollution. The globals.h
header doesn't need any of these symbols, so remove the #include.
* include/libxml/globals.h globals.c global.data: define a new global
variable (per thread) for structured error reporting, to not conflict
with generic one
* error.c: when defined use the structured error report over any generic
one
* include/libxml/xmlschemas.h xmlschemas.c: added new function
xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch
* doc/apibuild.py doc/*: regenerated the doc, chased why the new
function didn't got any documentation, added more checking in the
generator
* include/libxml/relaxng.h include/libxml/schematron.h
include/libxml/xmlschemas.h include/libxml/c14n.h
include/libxml/xmlregexp.h include/libxml/globals.h
include/libxml/xmlreader.h threads.c xmlschemas.c: various changes
and cleanups following the new reports
Daniel
svn path=/trunk/; revision=3738
* include/libxml/globals.h include/libxml/xmlIO.h
doc/libxml2-api.xml doc/libxml2-refs.xml: moved some definitions
to globals.h to avoid some troubles pointed out by Rob Richards
Daniel
* globals.c xmlwriter.c doc/apibuild.py include/libxml/globals.h
include/libxml/pattern.h include/libxml/schemasInternals.h
include/libxml/xmlexports.h include/libxml/xmlwriter.h: cleanup
the make rebuild in doc, this include new directive to stop
documentation warnings
* doc/* doc/html/*: rebuilt the docs
* pattern.c xmlreader.c include/libxml/pattern.h
include/libxml/xmlreader.h: adding xmlTextReaderPreservePattern()
to save nodes while scanning the tree with the reader, cleanup
the way element were freed, and xmlTextReaderPreserve()
implementation, the API might change for namespace binding support
when compiling patterns.
* doc/examples/*: added reader3.c exposing the xmlTextReaderPreserve()
Daniel
* include/libxml/*.h include/libxml/*.h.in: modified the file
header to add more informations, painful...
* genChRanges.py genUnicode.py: updated to generate said changes
in headers
* doc/apibuild.py: extract headers, add them to libxml2-api.xml
* *.html *.xsl *.xml: updated the stylesheets to flag geprecated
APIs modules. Updated the stylesheets, some cleanups, regenerated
* doc/html/*.html: regenerated added back book1 and libxml-lib.html
Daniel
* HTMLparser.c c14n.c catalog.c error.c globals.c parser.c
parserInternals.c relaxng.c valid.c xinclude.c xmlIO.c xmlregexp.c
xmlschemas.c xpath.c xpointer.c include/libxml/globals.h
include/libxml/parser.h include/libxml/valid.h
include/libxml/xmlerror.h: Setting up the framework for structured
error reporting, touches a lot of modules, but little code now
the error handling trail has been cleaned up.
Daniel
* Makefile.am: changed 'make tests' to use a concise output,
scrolling to see where thing broke wasn't pleasant
* configure.in: some beta4 preparation, but not ready yet
* error.c globals.c include/libxml/globals.h include/libxml/xmlerror.h:
new error handling code, last error informations are stored
in the parsing context or a global variable, new APIs to
handle the xmlErrorPtr type.
* parser.c parserInternals.c valid.c : started migrating to the
new error handling code, it's a royal pain.
* include/libxml/parser.h include/libxml/parserInternals.h:
moved the definition of xmlNewParserCtxt()
* parser.c: small potential buffer access problem in push code
provided by Justin Fletcher
* result/*.sax result/VC/PENesting* result/namespaces/*
result/valid/*.err: some error messages were sligthly changed.
Daniel
* configure.in: preparing a beta3 solving the ABI problems
* globals.c parser.c parserInternals.c testHTML.c HTMLparser.c SAX.c
include/libxml/globals.h include/libxml/SAX.h: make sure the
global variables for the default SAX handler are V1 ones to
avoid ABI compat problems.
* xmlreader.c: cleanup of uneeded code
* hash.c: fix a comment
Daniel
* Makefile.am SAX2.c include/libxml/Makefile.am include/libxml/SAX2.h:
Adding new version of the SAX interface, it's not there yet,
currently just preparing the work
* globals.c parser.c SAX.c include/libxml/SAX.h
include/libxml/globals.h include/libxml/parser.h: doing some
refactoring of the SAXv1 interfaces, obsoleting a bunch of them
while keeping functionalities, preparing SAX2 integration.
* dict.c: small cleanup.
Daniel
* build_glob.py global.data globals.c parser.c
include/libxml/globals.h: patch from Stphane Bidoul for setting
up threads global defaults.
* doc/libxml2-api.xml: this extends the API with new functions
* python/tests/Makefile.am python/tests/reader2.py
python/tests/thread2.py: integrated the associated testcase and
fixed the error string used in reader2
Daniel
* DOCBparser.c HTMLparser.c c14n.c catalog.c encoding.c globals.c
nanohttp.c parser.c parserInternals.c relaxng.c tree.c uri.c
xmlmemory.c xmlreader.c xmlregexp.c xpath.c xpointer.c
include/libxml/globals.h include/libxml/xmlmemory.h: added
xmlMallocAtomic() to be used when allocating blocks which
do not contains pointers, add xmlGcMemSetup() and xmlGcMemGet()
to allow registering the full set of functions needed by
a garbage collecting allocator like libgc, ref #109944
Daniel
* global.data globals.c tree.c include/libxml/globals.h: applied
an old patch from Lukas Schroeder to track node creation and
destruction. Probably missing a lot of references at the moment
and not usable reliably.
Daniel
* global.data globals.c tree.c include/libxml/globals.h win32/libxml2.def.src win32/dsp/libxml2.def.src: changed default value for global parameter xmlIndentTreeOutput to 1 and introduced new global parameter xmlTreeIndentString (the string used to do one-level indent) with default value " " (as it was in tree.c)
* include/libxml/encoding.h include/libxml/entities.h
include/libxml/globals.h include/libxml/parser.h
include/libxml/threads.h include/libxml/tree.h
include/libxml/xmlmemory.h: trying to fix the include mess
Daniel
* include/libxml/globals.h configure.in global.data: make
the allocation be per-thread a configure option
* encoding.c include/libxml/parser.h: fixed compilation
errors
Daniel
* include/libxml/SAX.h include/libxml/globals.h include/libxml/parser.h
include/libxml/parserInternals.h include/libxml/tree.h
include/libxml/xmlerror.h HTMLparser.c SAX.c error.c globals.c
nanoftp.c nanohttp.c parser.c parserInternals.c testDocbook.c
testHTML.c testSAX.c tree.c uri.c xlink.c xmlmemory.c:
Applied the last patches from Gary, cleanup, activated threading
all user accessible global variables are now handled in globals.[ch]
Still a bit rought but make tests passes with either
--with-threads defined at configure time or not.
* Makefile.am example/Makefile.am: added globals.[ch] and threads
linking options
Daniel
* Makefile.am include/libxml/Makefile.am
include/libxml/globals.h globals.c include/libxml/threads.h
threads.c build_glob.py global.data xmlcatalog.c acconfig.h
configure.in: started integrating the core of the thread support
not activated yet but half integrated. The code should still
compile and work anyway.
Daniel