IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
If dup() fails and returns -1, gzdopen() will transparently return NULL,
but then close() will fail after being called on an invalid FD. Change
the code to only call close() on valid FDs.
Coverity issue: #72382
The switch to xzlib had for consequence that the compression
level of the input was not gathered anymore in ctxt->input->buf,
then the parser compression flags was left to -1 and propagated
to the resulting document.
Fix the I/O layer to get compression detection in xzlib,
then carry it in the input buffer and the resulting document
This should fix
https://lsbbugs.linuxfoundation.org/show_bug.cgi?id=3456
https://bugzilla.gnome.org/show_bug.cgi?id=692915
the new set of converting functions tried to limit the encoding
conversion of the raw buffer to the consumption one to work in
a more progressive fashion. Unfortunately this was bad for
performances and led to errors on progressive parsing when
a very large chunk was close to the end of the document. Fix
the new internal function and switch back to the old way of
converting. Fix another bug in the process.
so we've got this patch to libxml2 2.7.6 in the LibreOffice code base,
inherited from OOo. it fixes a definite problem, which is that Windows
has a rather low maximum path length restriction, and there is a special
trick on NT whereby path names can be prefixed with "\\?\", in which
case the maximum length is 32k, which ought to be sufficient even for
bloated office suites :)
I'll attach the patch to the xmlCanonicPath function. note that i
didn't write this and am by no means an expert on either Microsoftean
platforms or libxml so maybe it's not the best way to do it.
To avoid digging into buf->buffer insternal strcuture the two
new entry points xmlOutputBufferGetContent() and
xmlOutputBufferGetSize() should make the ode cleaner.
* include/libxml/xmlIO.h: add two new functions
* xmlIO.c: impement the 2 functions based on the new buffer entry points
- fix inclusion of the separated file
- use namespaced name for the 4 non-static routines
- add padding after external structures included in-situ
- add new requirement to spec file
- general cleanup of code
* tree.c: add a missing check in xmlAddSibling, patch by Kris Breuker
* xmlIO.c: avoid xmlAllocOutputBuffer using XML_BUFFER_EXACT which
leads to performances problems especially on Windows.
daniel
svn path=/trunk/; revision=3820
* trionan.c: Borland C fix from Moritz Both
* testapi.c: regenerate, workaround a problem for buffer testing
* xmlIO.c HTMLtree.c: new internal entry point to hide even better
xmlAllocOutputBufferInternal
* tree.c: harden the code around buffer allocation schemes
* parser.c: restore the warning when namespace names are not absolute
URIs
* runxmlconf.c: continue regression tests if we get the expected
number of errors
* Makefile.am: run the python tests on make check
* xmlsave.c: handle the HTML documents and trees
* python/libxml.c: convert python serialization to the xmlSave APIs
and avoid some horrible hacks
Daniel
svn path=/trunk/; revision=3790
* include/libxml/tree.h tree.c: make a new kind of buffer where
shrinking and adding in head can avoid reallocation or full
buffer memmoves
* encoding.c xmlIO.c: use the new kind of buffers for output
buffers
Daniel
svn path=/trunk/; revision=3787
* encoding.c: Fixed typo in xmlCharEncFirstLine pointed out
by Mark Rowe (bug #440159)
* include/libxml/xmlversion.h.in: Added check for definition of
_POSIX_C_SOURCE to avoid warnings on Apple OS/X (patch from
Wendy Doyle and Mark Rowe, bug #346675)
* schematron.c, testapi.c, tree.c, xmlIO.c, xmlsave.c: minor
changes to fix compilation warnings - no change to logic.
svn path=/trunk/; revision=3618
* catalog.c libxml.h win32/wince/wincecompat.h win32/wince/wincecompat.c
xmlIO.c nanohttp.c nanoftp.c trio.c triostr.c triostr.h: applied
patch from Andreas Stricke to ease the compilation on Windows CE
Daniel
svn path=/trunk/; revision=3600
* valid.c: fixed a weird error where validity context whould not
show up if warnings were disabled pointed out by Bob Stayton
* xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs
* doc//* testapi.c: rebuilt the docs
Daniel
* xmlsave.c xmlIO.c include/libxml/xmlIO.h include/libxml/xmlsave.h:
applied patch from Geert Jansen to implement the save function to
a xmlBuffer, and a bit of cleanup.
Daniel
* test/relaxng/docbook_0.xml: get rid of the dependancy on a locally
installed DTD
* uri.c include/libxml/uri.h xmlIO.c nanoftp.c nanohttp.c: try to
cleanup the Path/URI conversion mess, needed fixing in various
layers and a new API to the uri module which also fixes#306861
* runtest.c: integrated a regression test specific to check the
URI conversions done before calling the I/O handlers.
Daniel
* HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c
runsuite.c runtest.c schematron.c testHTML.c testReader.c
testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c
xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of
small cleanups based on Linus' sparse check output.
Daniel
* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
format to cope with gcc4 change of aliasing allowed scopes, had
to add extra informations to doc/libxml2-api.xml to separate
the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
* gentest.py testapi.c: autogenerate a minimal NULL value sequence
for unknown pointer types
* HTMLparser.c SAX2.c chvalid.c encoding.c entities.c parser.c
parserInternals.c relaxng.c valid.c xmlIO.c xmlreader.c
xmlsave.c xmlschemas.c xmlschemastypes.c xmlstring.c xpath.c
xpointer.c: This uncovered an impressive amount of entry points
not checking for NULL pointers when they ought to, closing all
the open gaps.
Daniel
* gentest.py testapi.c: fixed the way the generator works,
extended the testing, especially with more real trees and nodes.
* HTMLtree.c tree.c valid.c xinclude.c xmlIO.c xmlsave.c: a bunch
of real problems found and fixed.
* entities.c: fix error reporting to go through the new handlers
Daniel
* gentest.py testapi.c: changing the way the .c is generated,
extending the tests coverage
* include/libxml/nanoftp.h nanoftp.c elfgcchack.h doc/*: fixing some
function signatures, regenerating stuff
* SAX2.c parser.c xmlIO.c: another set of bug fixes and API hardening
Daniel
* xmlmemory.c include/libxml/xmlmemory.h: adding xmlMemBlocks()
* Makefile.am gentest.py testapi.c: work on generator of an
automatic API regression test tool.
* SAX2.c nanoftp.c parser.c parserInternals.c tree.c xmlIO.c
xmlstring.c: various API hardeing changes as a result of running
teh first set of automatic API regression tests.
* test/slashdot16.xml: apparently missing from CVS, commited it
Daniel
* acconfig.h config.h.in configure.in xmlIO.c xmlregexp.c xmlschemas.c
xmlschemastypes.c: another patch from Malcolm Tredinnick fixing
warning generated by the Nonstop Kernel Open System Services
compiler #151710
Daniel
* xmlIO.c: small typo pointed out by Mike Hommey
* doc/xmllint.xml, xmllint.html, xmllint.1: slightly improved
the --c14n description, c.f. #144675 .
* nanohttp.c nanoftp.c: applied a first simple patch from
Mike Hommey for $no_proxy, c.f. #133470
* parserInternals.c include/libxml/parserInternals.h
include/libxml/xmlerror.h: cleanup to avoid 'error' identifier
in includes #
* parser.c SAX2.c debugXML.c include/libxml/parser.h:
first version of the inplementation of parsing within
the context of a node in the tree #142359, new function
xmlParseInNodeContext(), added support at the xmllint --shell
level as the "set" function
* test/scripts/set* result/scripts/* Makefile.am: extended
the script based regression tests to instrument the new function.
Daniel
* include/libxml/valid.h: elaborated on description of
xmlValidityWarningFunc and xmlValidityErrorFunc (bug
144760)
* xmlIO.c, xmlschemastypes.c, include/libxml/schemasinternals.h:
minor fixes to comments for doc rebuilding errors.
* doc/*.html: rebuilt the docs
* SAX2.c, encoding.c, error.c, parser.c, tree.c, uri.c, xmlIO.c,
xmlreader.c, include/libxml/tree.h: many further little changes
for OOM problems. Now seems to be getting closer to "ok".
* testOOM.c: added code to intercept more errors, found more
problems with library. Changed method of flagging / counting
errors intercepted.
* SAX2.c, tree.c, uri.c, xmlIO.c, xmlreader.c: further
fixes for out of memory condition, mostly from Olivier
Andrieu.
* testOOM.c: some further improvement by Olivier, with
a further small enhancement for easier debugging.
* xmlIO.c xmlsave.c include/libxml/xmlIO.h: second pass on escaping
handling, start to looks better, need to be completed and added
directly at the saving context level.
Daniel
* xmlIO.c xmlsave.c include/libxml/xmlIO.h: first pass at refactoring
the escape on save routines for better performances (less malloc)
and more flexibility using the new saving context. Preliminary
work, interface will change.
Daniel
* xmlIO.c: fix to the fix for #141864 from Paul Elseth
* HTMLparser.c result/HTML/doc3.htm: apply fix from David Gatwood for
#141195 about text between comments.
Daniel
* valid.c include/libxml/valid.h: fixes the use of 'list' as a parameter
* xmlIO.c include/libxml/xmlIO.h: added xmlPopInputCallback for
Matt Sergeant
Daniel
* xmlwriter.c include/libxml/xmlwriter.h doc/* : applied patch from
Alfred Mickautsch for better DTD support.
* SAX2.c HTMLparser.c parser.c xinclude.c xmllint.c xmlreader.c
xmlschemas.c: fixed bug #137867 i.e. fixed properly the way
reference counting is handled in the XML parser which had the
side effect of removing a lot of hazardous cruft added to try
to fix the problems associated as they popped up.
* xmlIO.c: FILE * close fixup for stderr/stdout
Daniel
* parserInternals.c xmlIO.c encoding.c include/libxml/parser.h
include/libxml/xmlIO.h: added xmlByteConsumed() interface
* doc/*: updated the benchmark rebuilt the docs
* python/tests/Makefile.am python/tests/indexes.py: added a
specific regression test for xmlByteConsumed()
* include/libxml/encoding.h rngparser.c tree.c: small cleanups
Daniel
* parser.c xmlIO.c include/libxml/parserInternals.h: implemented
the XML_PARSE_NONET parser option.
* xmllint.c: converted xmllint.c to use the option instead of
relying on the global resolver variable.
Daniel
* python/libxml.c: previous fix for #124044 was broken, correct
fix provided.
* HTMLparser.c parser.c parserInternals.c xmlIO.c: fix xmlStopParser()
and the error handlers to address #125877
Daniel
* libxml.h parserInternals.c xmlIO.c: make sure we report errors
if xmlNewInputFromFile() fails.
* xmlreader.c: avoid using _private for the node or document
elements.
Daniel
* include/libxml/nanohttp.h include/libxml/parserInternals.h
include/libxml/xmlIO.h nanohttp.c parserInternals.c xmlIO.c:
Fixed the HTTP<->parser interraction, which should fix 2 long
standing bugs #104790 and #124054 , this also fix the fact that
HTTP error code (> 400) should not generate data, we usually
don't want to parse the HTML error information instead of the
resource looked at.
Daniel
* SAX2.c: fixed a nasty bug with interning some text strings
* configure.in: prepare for beta5 of 2.6.0
* libxml.h nanoftp.c nanohttp.c xmlIO.c include/libxml/xmlerror.h:
better error handling for I/O and converted FTP and HTTP
* parser.c: fixed another bug
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
* xmlIO.c: final error handling cleanup
* xinclude.c error.c: converted XInclude to the new error handling
* include/libxml/xmlerror.h: added XInclude errors
Daniel
* Makefile.am: cleanup, creating a new legacy.c module,
made sure make tests ran in reduced conditions
* SAX.c SAX2.c configure.in entities.c globals.c parser.c
parserInternals.c tree.c valid.c xlink.c xmlIO.c xmlcatalog.c
xmlmemory.c xpath.c xmlmemory.c include/libxml/xmlversion.h.in:
increased the modularization, allow to configure out
validation code and legacy code, added a configuration
option --with-minimum compiling only the mandatory code
which then shrink to 200KB.
Daniel
* xmlIO.c: applied patch from Markus Keim fixing a problem
with I/O callback registration.
* include/libxml/xmlerror.h: fixed#122994 comment numbering
for xmlParserErrors
Daniel
* configure.in: preparing a 2.6.0-beta2 release
* xmlIO.c: avoid a warning
* tree.c: avoid duplicate code in xmlReplaceNode as pointed out
by Chris Ryland
* include/libxml/dict.h: add a QName access lookup to the
dictionary.
* xmlreader.c include/libxml/xmlreader.h: adding const access
based on the dictionary interface for string read from the
reader, the node content access is still TODO, it's too different
Daniel
* Makefile.am: add streaming on memory regression tests, found
bad bugs in the reader interface
* xmlreader.c: fixing bugs w.r.t. very large names, and special
condition in end of file.
* xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h:
adding immutable buffers, and parser input based on those,
but this should not be used (yet) for general parsing
* parser.c: added a comment about using immutable buffers for
general parsing.
* result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the
output of the regression tests
* xmllint.c: using the immutable buffers when streaming on
mmaped file (--stream --memory)
Daniel
* parserInternals.c: small fix from Rob Richards for input filename
* xmllint.c: fixes for --repeat and --memory/--stream for speed tests
* xmlIO: adding a guard in one function
Daniel
fixing bugs and migrating to SAX2 interface by default. There
is some work letf TODO, like namespace validation and attributes
normalization (this break C14N right now)
* Makefile.am: fixed the test rules
* include/libxml/SAX2.h include/libxml/parser.h
include/libxml/parserInternals.h SAX2.c parser.c
parserInternals.c: changing the parser, migrating to SAX2,
adding new interface to switch back to SAX1 or initialize a
SAX block for v1 or v2. Most of the namespace work is done
below SAX, as well as attribute defaulting
* globals.c: changed initialization of the default SAX handlers
* hash.c tree.c include/libxml/hash.h: added QName specific handling
* xmlIO.c: small fix
* xmllint.c testSAX.c: provide a --sax1 switch to test the old
version code path
* result/p3p result/p3p.sax result/noent/p3p test/p3p: the new code
pointed out a typo in a very old test namespace
Daniel
* dict.c hash.c: optimization when freeing hash tables.
* parser.c xmlIO.c include/libxml/tree.h: some tuning of buffer
allocations
* parser.c parserInternals.c include/libxml/parser.h: keep a
single allocated block for all the attributes callbacks,
avoid useless malloc()/free()
* tree.c: do not realloc() when growing a buffer if the buffer
ain't full, malloc/memcpy/free avoid copying memory.
Daniel
* libxml.h include/libxml/parser.h parser.c xmlIO.c DOCBparser.c:
added support for large file, tested with a 3+GB instance,
and some cleanup.
* catalog.c: added a TODO
* Makefile.am: added some "make tests" comments
Daniel
* HTMLparser.c tree.c xmlIO.c: comments cleanups
* Makefile.am: use xmllint for doing the RelaxNG tests
* configure.in: preparing 2.5.2 made schemas support default to
on instead of off
* relaxng.c: removed the verbosity
* xmllint.c: added --relaxng option
* python/generator.py python/libxml_wrap.h: prepared the integration
of the new RelaxNG module and schemas
* result/relaxng/*: less verbose output
Daniel
* doc/apibuild.py doc/libxml2-api.xml doc/Makefile.am: new API
building Python script, does the C parsing directly, generates
a better API description including structure fieds defs and
enums. Still a couple of bugs, but good enough for the python
wrappers now.
* DOCBparser.c SAX.c nanohttp.c parser.c parserInternals.c tree.c
valid.c xmlIO.c xmlmemory.c xmlreader.c xmlregexp.c xmlschemas.c
include/libxml/schemasInternals.h include/libxml/tree.h: more
cleanup based on the python analysis script reports.
* libxml.spec.in: make sure the API XML description is part of the
devel package.
Daniel
* DOCBparser.c HTMLparser.c c14n.c debugXML.c encoding.c hash.c
nanoftp.c nanohttp.c parser.c parserInternals.c testC14N.c
testDocbook.c threads.c tree.c valid.c xmlIO.c xmllint.c xmlmemory.c
xmlreader.c xmlregexp.c xmlschemas.c xmlschemastypes.c xpath.c:
code cleanup, especially the function comments.
* tree.c: fixed a small bug when freeing nodes which are XInclude ones.
Daniel
* include/libxml/xmlIO.h xmlIO.c parser.c HTMLparser.c DOCBparser.c:
messing around with support for Windows path, cleanups,
trying to identify and fix the various code path to the
filename access. Added xmlNormalizeWindowsPath()
Daniel
* DOCBparser.c HTMLparser.c c14n.c entities.c list.c
parser.c parserInternals.c xmlIO.c: get rid of all the
perror() calls made in the library execution paths. This
should fix both #92059 and #92385
Daniel
* DOCBparser.c HTMLparser.c debugXML.c encoding.c
nanoftp.c nanohttp.c parser.c tree.c uri.c xmlIO.c
xmllint.c xpath.c: replaced sprintf() with snprintf()
to prevent possible buffer overflow (the bug was pointed
out by Anju Premachandran)
* HTMLparser.c error.c parser.c parserInternals.c tree.c xmlIO.c
include/libxml/tree.h: dohh I really didn't intended to commit
this test version :-(
Daniel
* testSAX.c: I wanted to see the real speed at the SAX interface
after a little too many Ximianer started complaining about the
parser speed.
added a --quiet option:
paphio:~/XML -> ls -l db100000.xml
-rw-rw-r-- 1 veillard www 20182040 Mar 20 10:30 db100000.xml
paphio:~/XML -> time ./testSAX --quiet db100000.xml
3200006 callbacks generated
real 0m1.270s
Which means 16MBytes/s and 3Mcallback/s
Daniel
* configure.in: preparing 2.4.18
* doc/*: updated and rebuilt the web site
* *.c libxml.h: implement the new IN_LIBXML scheme discussed with
the Windows and Cygwin maintainers.
* parser.c: humm, changed the way the SAX parser work when
xmlSubstituteEntitiesDefault(1) is set, it will then
do the entity registration and loading by itself in case the
user provided SAX getEntity() returns NULL.
* testSAX.c: added --noent to test the behaviour.
Daniel
* Makefile.am: cleanup
* debugXML.c: always use stdout if output is NULL
* xmlIO.c: don't close filedescriptors passed to outputBuffers
* python/Makefile.am python/generator.py python/libxml2class.txt
python/libxml_wrap.h python/types.c: augmented the number of bindings
handling FILE * and XPath contexts
* python/tests/Makefile.am: avoid a stupid problem due to the
use of TEST.
Daniel
* doc/libxml2-api.xml doc/parsedecl.py: Build a new version
hopefully near complete and fully documented of the API in XML
* HTMLtree.c SAX.c debugXML.c error.c globals.c parser.c tree.c
xmlIO.c xmlmemory.c include/libxml/catalog.h include/libxml/hash.h
include/libxml/list.h include/libxml/parser.h include/libxml/tree.h
include/libxml/parserInternals.h include/libxml/valid.hi
include/libxml/xmlIO.h include/libxml/xmlerror.hi
include/libxml/xmlmemory.h include/libxml/xmlversion.h.ini
include/libxml/xpath.h include/libxml/xpathInternals.h:
Cleaned up the doc comments a lot in the process, the interface
coverage is now 100%
Daniel
* libxml.h: Applied following patches from Robert Collins
and make sure IN_LIBXML is defined when compiling it
-------
* include/libxml/xmlversion.h.in (LIBXML_DLL_IMPORT): Use on Cygwin
as well as Visual C.
* parser.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
* parserInternals.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
* strio.c (PLATFORM_UNIX): Define for Cygwin.
* triodef.h (TRIO_PLATFORM_UNIX): Define for Cygwin.
* xmlIO.c (xmlFileOpen): Use unix behaviour for Cygwin.
Use binary mode opens for Cygwin (xmlFileOpenW xmlParserGetDirectory
xmlSysIDExists xmlNoNetExists).
* xmllint.c: Don't include winsock2.h for Cygwin.
Daniel
* xmlIO.c: as robert pointed again, xmlInputCallbackInitialized
gets reset by xmlCleanupInputCallbacks() and this makes the
function useless. Same for output.
Daniel
* Makefile.am: cleanup
* threads.c: cleanup too
* xmlIO.c include/libxml/xmlIO.h: added xmlNoNetExternalEntityLoader()
from xsltproc
* include/libxml/tree.h include/libxml/parser.h: trying to break a
dependancy loop.
Daniel
* vms/readme.vms vms/build_libxml.com nanoftp.c
include/libxml/xmlversion.h.in: a few VMS updates from
John A Fotheringham
* include/libxml/xmlIO.h xmlIO.c: added xmlCleanupInputCallbacks()
and xmlCleanupOutputCallbacks() for the Perl binding people.
Daniel
* Makefile.am configure.in include/libxml/xmlwin32version.h:
preparing for a 2.4.3 release even if it may not be ready yet
* catalog.c parser.c xmlIO.c include/libxml/catalog.h: redirected
all file parsing lookup to go through the entity resolver, add
to add an API to bypass it (needed to load catalogs themselves),
some cleanup on the catalog code too.
* nanoftp.c: small cleanup
* doc/catalog.html: small update
Daniel
* include/libxml/catalog.h catalog.c xmlIO.c HTMLparser.c:
Added the part about section 7.2 on URI resolution,
fixed a side effect in the HTML parser, look complete
and ready to rock except the URI/SystemID part!
Daniel
* include/libxml/catalog.h include/libxml/parser.h
include/libxml/xmlerror.h catalog.c parser.c parserInternals.c
xmlIO.c: added support and APIs needed for the catalog PI
* include/libxml/xmlIO.h: cleanup
Daniel