xpointer.c


Log

Author Commit Date CI Message
Nick Wellnhofer 5d36664f 2024-07-16T00:35:53 memory: Deprecate xmlGcMemSetup
Nick Wellnhofer 598ee0d2 2024-06-26T01:18:55 error: Remove underscores from xmlRaiseError
Nick Wellnhofer 669bd349 2024-06-12T18:20:01 xpointer: Remove support for XPointer locations The latest spec for what it essentially an XPath extension seems to be this working draft from 2002: https://www.w3.org/TR/xptr-xpointer/ The xpointer() scheme is listed as "being reviewed" in the XPointer registry since at least 2006. libxml2 seems to be the only modern software that tries to implement this spec, but the code has many bugs and quality issues. If you configure --with-legacy, old symbols are retained for ABI compatibility.
Nick Wellnhofer 29f4d69e 2024-01-10T16:02:33 xpath: Report malloc failure in xmlXPtrEvalXPtrPart
Nick Wellnhofer 954b8984 2023-12-18T19:39:38 xpath: Improve error handling Introduce xmlXPathSetErrorHandler allowing to set a structured error handler for an XPath context. Remove arguments from memory error handlers. Use xmlRaiseMemoryError. Remove TODO, STRANGE and CHECK_CTXT macros. Remove remaining uses of xmlGenericError.
Nick Wellnhofer e632d9f0 2023-12-10T16:56:16 xpath: Report malloc failures Fix many places where malloc failures aren't reported. Rework XPath object cache to store free objects in a linked list to avoid allocating an additional array. Remove some unneeded object pools.
Nick Wellnhofer 699299ca 2023-09-20T18:54:39 globals: Stop including globals.h
Nick Wellnhofer 4e1c13eb 2023-09-18T14:45:10 debug: Remove debugging code This is barely useful these days and only clutters the code base.
Nick Wellnhofer fa993130 2023-04-30T12:57:09 xpath: Remove remaining references to valueFrame Fixes #529.
Nick Wellnhofer 2cac6269 2022-09-01T03:14:13 Don't use sizeof(xmlChar) or sizeof(char)
Nick Wellnhofer ad338ca7 2022-09-01T01:18:30 Remove explicit integer casts Remove explicit integer casts as final operation - in assignments - when passing arguments - when returning values Remove casts - to the same type - from certain range-bound values The main motivation is that these explicit casts don't change the result of operations and only render UBSan's implicit-conversion checks useless. Removing these casts allows UBSan to detect cases where truncation or sign-changes occur unexpectedly. Document some explicit casts as truncating and add a few missing ones.
Nick Wellnhofer 0f568c0b 2022-08-26T01:22:33 Consolidate private header files Private functions were previously declared - in header files in the root directory - in public headers guarded with IN_LIBXML - in libxml.h - redundantly in source files that used them. Consolidate all private header files in include/private.
Nick Wellnhofer 4612ce30 2022-04-21T03:52:52 Implement xpath1() XPointer scheme See https://www.w3.org/2005/04/xpointer-schemes/
Nick Wellnhofer 67070107 2022-04-20T23:17:14 Add configuration flag for XPointer locations support Add a new configuration flag that controls whether the outdated support for XPointer locations (ranges and points) is enabled. --with-xptr-locs # Autotools LIBXML2_WITH_XPTR_LOCS # CMake The latest spec for what it essentially an XPath extension seems to be this working draft from 2002: https://www.w3.org/TR/xptr-xpointer/ The xpointer() scheme is listed as "being reviewed" in the XPointer registry since at least 2006. libxml2 seems to be the only modern software that tries to implement this spec, but the code has many bugs and quality issues. The flag defaults to "off" and support for this extensions has to be requested explicitly. The relevant API functions are deprecated.
Nick Wellnhofer 10291f83 2022-03-05T18:25:16 Fix potential double-free in xmlXPtrStringRangeFunction Fix double-free in an unlikely error condition. Thanks to Wentao Liang for the report. Fixes #341.
Nick Wellnhofer 4a8c71eb 2022-03-04T03:35:57 Remove DOCBparser 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.
Nick Wellnhofer 346c3a93 2022-02-20T18:46:42 Remove elfgcchack.h The same optimization can be enabled with -fno-semantic-interposition since GCC 5. clang has always used this option by default.
Nick Wellnhofer 5408c10c 2022-02-04T14:00:09 Don't normalize namespace URIs in XPointer xmlns() scheme Namespace URIs should be compared without escaping or unescaping: https://www.w3.org/TR/REC-xml-names/#NSNameComparison Fixes #289.
David Kilzer 8f5ccada 2021-07-07T19:24:36 xmlAddChild() and xmlAddNextSibling() may not attach their second argument Use the return value of xmlAddChild() and xmlAddNextSibling() instead of the second argument directly. Found by OSS-Fuzz. Fixes #316
Nick Wellnhofer f872aa18 2022-01-25T01:16:00 Fix handling of ctxt->base in xmlXPtrEvalXPtrPart Also set ctxt->base when updating ctxt->cur. Always restore ctxt->cur on error. Avoids integer truncation and wrong column numbers in xmlXPathErr. Stop hiding modification of ctxt members behind a macro. Found with UBSan.
Nick Wellnhofer a218ff0e 2020-12-06T17:26:36 Fix null pointer deref in xmlXPtrRangeInsideFunction Found by OSS-Fuzz.
Nick Wellnhofer 46837d47 2020-10-03T01:13:35 Fix memory leaks in XPointer string-range function Found by OSS-Fuzz.
Nick Wellnhofer 8b88503a 2020-09-18T19:15:27 Don't call xmlXPathInit directly Call xmlInitParser which uses a lock to avoid race conditions. Fixes #184.
Nick Wellnhofer 20c60886 2020-03-08T17:19:42 Fix typos Resolves #133.
Jared Yanovich 2a350ee9 2019-09-30T17:04:54 Large batch of typo fixes Closes #109.
Nick Wellnhofer b9bdb9db 2019-03-19T17:44:51 Check for integer overflow in xmlXPtrEvalChildSeq Found with libFuzzer and UBSan.
Nick Wellnhofer b2189571 2017-11-13T21:23:17 Fix -Wenum-compare warnings Also fixes a serious bug in xmlXPtrNewRangeNodePoint.
Stéphane Michaut 454e397e 2017-08-28T14:30:43 Porting libxml2 on zOS encoding of code First set of patches for zOS - entities.c parser.c tree.c xmlschemas.c xmlschemastypes.c xpath.c xpointer.c: ask conversion of code to ISO Latin 1 to avoid having the compiler assume EBCDIC codepoint for characters. - xmlmodule.c: make sure we have support for modules - xmlIO.c: zOS path names are special avoid dsome of the expectstions from Unix/Windows
Nick Wellnhofer bd1571cd 2017-05-22T00:33:12 Fix memory leaks in XPointer error paths Found with libFuzzer and ASan.
Nick Wellnhofer e905f081 2016-06-26T12:38:28 Fix more NULL pointer derefs in xpointer.c Found with afl-fuzz.
Nick Wellnhofer c1d1f712 2016-06-28T18:34:52 Disallow namespace nodes in XPointer ranges Namespace nodes must be copied to avoid use-after-free errors. But they don't necessarily have a physical representation in a document, so simply disallow them in XPointer ranges. Found with afl-fuzz. Fixes CVE-2016-4658.
Nick Wellnhofer 3f8a9103 2016-06-28T15:55:09 Disallow namespace nodes in XPointer points
Nick Wellnhofer 9ab01a27 2016-06-28T14:22:23 Fix XPointer paths beginning with range-to The old code would invoke the broken xmlXPtrRangeToFunction. range-to isn't really a function but a special kind of location step. Remove this function and always handle range-to in the XPath code. The old xmlXPtrRangeToFunction could also be abused to trigger a use-after-free error with the potential for remote code execution. Found with afl-fuzz. Fixes CVE-2016-5131.
David Kilzer 4472c3a5 2016-05-13T15:13:17 Fix some format string warnings with possible format string vulnerability For https://bugzilla.gnome.org/show_bug.cgi?id=761029 Decorate every method in libxml2 with the appropriate LIBXML_ATTR_FORMAT(fmt,args) macro and add some cleanups following the reports.
Gaurav Gupta f5496a1e 2014-10-07T17:09:35 xpointer : fixing Null Pointers For https://bugzilla.gnome.org/show_bug.cgi?id=738053 At many places in xpointer.c Null check is missing which is dereferenced at later places.
Gaurav Gupta a61929e8 2014-10-07T12:28:34 Remove Unnecessary Null check in xpointer.c For https://bugzilla.gnome.org/show_bug.cgi?id=738052 superfluous check
Daniel Veillard f8e3db04 2012-09-11T13:26:36 Big space and tab cleanup Remove all space before tabs and space and tabs at end of lines.
Daniel Veillard 3e62adbe 2012-08-09T14:24:02 Adding various checks on node type though the API Specifially checking against namespace nodes before accessing node pointers
Jüri Aedla d8e1faea 2012-05-07T15:06:56 Fix an off by one pointer access getting out of the range of memory allocated for xpointer decoding
Daniel Veillard f5048b3e 2011-08-18T17:10:13 Hardening of XPath evaluation Add a mechanism of frame for XPath evaluation when entering a function or a scoped evaluation, also fix a potential problem in predicate evaluation.
Daniel Veillard 594e5dfb 2009-09-07T14:58:47 Chasing dead assignments reported by clang-scan * SAX2.c dict.c error.c hash.c nanohttp.c parser.c python/libxml.c relaxng.c runtest.c tree.c valid.c xinclude.c xmlregexp.c xmlsave.c xmlschemas.c xpath.c xpointer.c: mostly removing unneded affectations, but this led to a few real bugs and some part not yet understood (relaxng/interleave)
Daniel Veillard 8ed1072c 2009-08-20T19:17:36 Add symbol versioning to libxml2 shared libs * libxml2.syms: the symbols with history, going back to 2.4.30 * Makefile.am configure.in: linking flags detection and use * parser.c tree.c valid.c xpointer.c: various cleanup of functions which could be made static or simply discarded, not that many
Jakub Wilk 928d7033 2009-07-29T12:24:11 Skip silently unrecognized XPointer schemes * xpointer.c: unrecognized XPointers should be skipped instead of aborting the full XPointer evaluation
Daniel Veillard aac7c68e 2006-03-10T13:40:16 fix a few warning raised by gcc-4.1 and latests changes Daniel * c14n.c encoding.c xmlschemas.c xpath.c xpointer.c: fix a few warning raised by gcc-4.1 and latests changes Daniel
Daniel Veillard 24505b0f 2005-07-28T23:49:35 a lot of small cleanups based on Linus' sparse check output. 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
Daniel Veillard 5d4644ef 2005-04-01T13:11:58 revamped the elfgcchack.h format to cope with gcc4 change of aliasing * 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
Daniel Veillard ce682bc2 2004-11-05T17:22:25 autogenerate a minimal NULL value sequence for unknown pointer types This * 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
Daniel Veillard 3d97e669 2004-11-04T10:49:00 extending the tests coverage more fixes and cleanups Daniel * gentest.py testapi.c: extending the tests coverage * HTMLtree.c tree.c xmlsave.c xpointer.c: more fixes and cleanups Daniel
William M. Brack 4d59e22a 2004-03-08T14:42:31 enhanced to assure that if xpointer is called for a document, the * xinclude.c: enhanced to assure that if xpointer is called for a document, the XML_PARSE_NOENT flag is set before parsing the included document so that entities will automatically get taken care of. * xpointer.c: corrected code so that, if an XML_ENTITY_REF node is encountered, it will log it and not crash (bug 135713)
William M. Brack ce4fc56e 2004-01-22T02:47:18 fixed problem with union when last() is used in predicate (bug #131971) * xpath.c: fixed problem with union when last() is used in predicate (bug #131971) * xpointer.c: minor change to comment for doc generation
William M. Brack f7eb794c 2003-12-31T07:59:17 fixed problem pointed out by Stéphane Bidoul on the list. completed * python/generator.py, python/libxml2class.txt: fixed problem pointed out by Stéphane Bidoul on the list. * xinclude.c, xpointer.c, xpath.c, include/libxml/xpointer.h: completed modifications required to fix Bug 129967 (at last!). Now wait to see how long before further trouble...
William M. Brack 72ee48d5 2003-12-30T08:30:19 Fixed memory leak reported by Dave Beckett Removed spurious comment * parser.c, xmlmemory.c, include/libxml/xmlmemory.h: Fixed memory leak reported by Dave Beckett * xmlschemas.c: Removed spurious comment reported on the mailing list * xinclude.c, xpath.c, xpointer.c, libxml/include/xpointer.h: Further work on Bug 129967 concerning xpointer range handling and range-to function; much better, but still not complete
William M. Brack 08171918 2003-12-29T02:52:11 edited a couple of comments in accordance with posting on the mailing list * xmlschemas.c: edited a couple of comments in accordance with posting on the mailing list (no logic change) * xpointer.c: working on Bug 129967, added check for NULL nodeset to prevent crash. Further work required. * xpath.c: working on Bug 129967, added code to handle XPATH_LOCATIONSET in RANGETO code, also added code to handle it in xmlXPathEvaluatePredicateResult. Further work required.
William M. Brack 272693c7 2003-11-14T16:20:34 minor error cleanup for gcc-3.3.[12] compilation warnings. * catalog.c,relaxng.c,testAutomata.c,xpointer.c,genChRanges.py, chvalid.c,include/libxml/chvalid.h,doc/examples/test1.c: minor error cleanup for gcc-3.3.[12] compilation warnings.
Daniel Veillard 659e71ec 2003-10-10T14:10:40 Setting up the framework for structured error reporting, touches a lot of * 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
Daniel Veillard fcf719ce 2003-10-10T11:42:17 cleanup migrated XPointer module to the new error mechanism Daniel * xpath.c: cleanup * xpointer.c include/libxml/xmlerror.h: migrated XPointer module to the new error mechanism Daniel
Daniel Veillard 3c908dca 2003-04-19T00:07:51 added xmlMallocAtomic() to be used when allocating blocks which do not * 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
Daniel Veillard 9a237c9d 2003-02-13T15:52:58 improved the script accordingly to the XInclude regression tests updates * check-xinclude-test-suite.py: improved the script accordingly to the XInclude regression tests updates * xpointer.c: Implemented XPointer element() Scheme W3C PR of 13 November 2002 * result/XPath/xptr/chapterschildseq result/XPath/xptr/vidchildseq test/XPath/xptr/chapterschildseq test/XPath/xptr/vidchildseq: augmented the Xpointer testsuite for the element() scheme Daniel
Daniel Veillard 56f21f29 2002-11-06T15:49:46 tried to fix bug #97852 reported by Nicolas Noffke Daniel * xpointer.c: tried to fix bug #97852 reported by Nicolas Noffke Daniel
Daniel Veillard 34ce8bec 2002-03-18T19:37:11 preparing 2.4.18 updated and rebuilt the web site implement the new * 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
Daniel Veillard 9ff8817e 2002-03-11T09:15:32 Fixing #74186, made sure all boolean expressions get fully parenthesized, * c14n.c: Fixing #74186, made sure all boolean expressions get fully parenthesized, ran indent on the output * configure.in HTMLtree.c SAX.c c14n.c debugXML.c tree.c xpointer.c include/libxml/tree.h: also #74186 related, removed the --with-buffers option, and all the preprocessor conditional sections that were resulting from it. Daniel
Daniel Veillard 0ba59239 2002-02-10T13:20:39 Tentatively fixed #69655 , make compiling with -Wredundant-decls clean. * HTMLtree.c Makefile.am build_glob.py configure.in debugXML.c globals.c parser.c threads.c tree.c valid.c xmlmemory.c xpath.c xpointer.c include/libxml/globals.h include/libxml/parser.h include/libxml/parserInternals.h include/libxml/tree.h include/libxml/xmlmemory.h include/libxml/xpathInternals.h: Tentatively fixed #69655 , make compiling with -Wredundant-decls clean. * python/libxml.c: fixed a warning. Daniel
Daniel Veillard cbaf3995 2001-12-31T16:16:02 applied 42 documentation patches from Charlie Bozeman. Regenerated the * *.c include/libxml/*.h doc/html/*: applied 42 documentation patches from Charlie Bozeman. Regenerated the HTML docs. Daniel
Daniel Veillard 913d6e09 2001-11-28T14:53:53 Fixed the previous fix, Daniel
Daniel Veillard e85d9342 2001-11-28T14:43:12 fixed a compilation bug pointed by Danny Jamshy Daniel * xpointer.c: fixed a compilation bug pointed by Danny Jamshy Daniel
Daniel Veillard 3c01b1d8 2001-10-17T15:58:35 - include/libxml/globals.h include/libxml/threads.h threads.c testThreads.c: far more testing, cleaning up bugs - *.c : make sure globals.h is always included. Daniel
Daniel Veillard b44025c7 2001-10-11T22:55:55 started integrating the non-controversial parts of Gary Pennington * HTMLtree.c catalog.c debugXML.c entities.c nanoftp.c parser.c valid.c xmlmemory.c xpath.c xpointer.c: started integrating the non-controversial parts of Gary Pennington multithread patches * catalog.c: corrected a small bug introduced Daniel
Daniel Veillard 60087f30 2001-10-10T09:45:09 preparing 2.4.6 release updated and rebuilt the docs fixed a number of * configure.in: preparing 2.4.6 release * doc/xml.html doc/html/*: updated and rebuilt the docs * include/libxml/*.h *.c: fixed a number of teh/the widht/width typos Daniel
Daniel Veillard ae6db17a 2001-08-16T19:32:00 removed unused var Daniel * xpointer.c: removed unused var Daniel
Daniel Veillard 7db3773a 2001-07-12T01:20:08 store the line numbder in element->content, may break some software, need * DOCBparser.c HTMLparser.c HTMLtree.c SAX.c debugXML.c parser.c tree.c xpointer.c: store the line numbder in element->content, may break some software, need a configuration mechanism Daniel
Daniel Veillard 87ee9140 2001-06-28T12:54:16 - xpointer.c include/win32config.h win32/libxml2/libxml2.def.src libxml.h : Yon Derek provided a set of changes to compile from CVS on Windows/MSC Daniel
Daniel Veillard c5d64345 2001-06-24T12:13:24 Summer's cleanup, a really big one: * AUTHORS: added William and Bjorn * include/libxml/*.h *.c README doc/*.html etc.: changed old email to daniel@veillard.com hopefully I won't have to do this again * doc/Makefile.am doc/html/*.html: cleanup makefile, checked that docs can be rebuilt cleanly now * include/libxml/xml*version.h*: removed include/libxml/xmlversion.h from CVs it's generated, added include/libxml/xmlwin32version.h also generated but which should change far less frequently. * catalog.c nanoftp.c: made sure to include libxml.h not libxml/xmlversion.h directly * include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h when compiling on WIN32 and MSC Daniel
Daniel Veillard 017b108f 2001-06-21T11:20:21 - Makefile.am: cleanup when --without-debug is specified - xinclude.c xpath.c xpathInternals.h xpointer.c: cleanup w.r.t. --without-debug and other include points - catalog.h testCatalog.c: a bit of cleanup and prepare for XML Catalogs - configure.in entities.h tree.h HTMLparser.c: removed --without-corba, made the _private field mandatory Daniel
Daniel Veillard 39196eba 2001-06-19T18:09:42 - tree.c xinclude.c xpointer.c: bug #56402 exposed a number of weakness in the node copy the XPointer and the XInclude implementations. Serious cleanup. Daniel
Daniel Veillard f69bb4b5 2001-05-19T13:24:56 - HTMLparser.c: Closed bug #54891 - result/HTML/cf_128.html* test/HTML/cf_128.html: added the test to the suite forgot to commit this one yesterday - encoding.h hash.c nanoftp.h parser.h tree.h uri.h xlink.h xpointer.c: applied a documentation patch from LotR and filled in a few missing descriptions Daniel
Bjorn Reese 70a9da54 2001-04-21T16:57:29 trio upgrade and integration
Daniel Veillard 92ad2104 2001-03-27T12:47:33 Spring cleanup ...: - configure.in Makefile.am config.h.in Spring cleanup ...: - configure.in Makefile.am config.h.in xmlversion.h.in: detect if we need string functions - trio.[ch] strio.[ch]: embedded the Trio-0.23 string functions to be able to use them where needed. Applied some changes to reduce name linking pollution and compile in only what's needed. - HTMLtree.c debugXML.c entities.c error.c nanoftp.c valid.c xlink.c xmlversion.h.in xpath.c: got rid of the #ifdef for the string manipulation functions - xmlmemory.[ch]: removed DEBUG_MEMORY_FREED and added it automatically to the free() function of xmlmemory.c - entities.c HTMLtree.c parserInternals.c tree.c uri.c valid.c xinclude.c xmlIO.c xpath.c xpointer.c: removed the MEM_CLEANUP usage. Daniel
Daniel Veillard c86a4fae 2001-03-26T16:28:29 - HTMLparser.c HTMLtree.c SAX.c debugXML.c error.c parserInternals.c testHTML.c testSAX.c tree.c valid.c xmlIO.c xmlmemory.c xmlversion.h.in xpointer.c: of course the way I defined UNUSED breaks on old gcc version. Try to be smart and also define it directly in xmlversion.h - configure.in: removed -ansi flag from the pedantic set Daniel
Daniel Veillard 56a4cb8c 2001-03-24T17:00:36 Huge cleanup, I switched to compile with -Wall -g -O -ansi -pedantic -W -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 - HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch] encoding.h entities.c error.c list.[ch] nanoftp.c nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c testSAX.c testURI.c testXPath.c tree.[ch] uri.c valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c: Cleanup, staticfied a number of non-exported functions, detected and cleaned up a dozen of problem found this way, avoided a lot of public function name/typedef/system names clashes - doc/xml.html: updated - configure.in: switched private flags to the really pedantic ones. Daniel
Daniel Veillard fbf8a2d0 2001-03-19T15:58:54 More cleanups, XSLT induced, start looking okay: - xpath.[ch]: still a lot of cleanup based on XSLT, added xmlXPathConvert{String,Number,Boolean} to be able to make type casts without a context stack, fixed some implementation problems related to the absence of context at parse-time, added xmlXPathEvalPredicate() and xmlXPathFreeCompExpr() in the public API too - xpointer.c xpathInternals.h: we need to know at parse time whether we are compiling an XPointer Daniel
Daniel Veillard afcbe1cb 2001-03-19T10:57:13 Did the boring cleanup job now that stuff works okay again: - xpath.[ch] xpointer.c: restaured the Binary and API compatibility cleaned up the parser internals, refactored XPath code, added new compilation based APIs and cleanly separated public and private APIs. Daniel
Daniel Veillard 9e7160d4 2001-03-18T23:17:47 Completely changed the way the XPath evaluation is done, likely to break stuff like libxslt right now: - Makefile.am: detect XPath memleaks in regreson tests - error.c: fixed and error w.r.t. error reporting still using stderr - hash.c: added new line at end of file - tree.h: minor cleanup - xpath.[ch] xpointer.[ch]: Major changes ! Separated XPath expression parsing from evaluation, resulted in a number of changes internally, and in XPointer. Likely to break stuff using xpathInternals.h but should remain binary compatible, new interfaces will be added. Daniel
Daniel Veillard 48b2f896 2001-02-25T16:11:03 Okay time to improve performances, gprof session: before real 0m2.483s (2.3.2 release yesterday) current real 0m1.763s when parsing (with tree build/freeing) db10000.xml from XSLTMark: - xmlmemory.h HTMLparser.c HTMLtree.c entities.c parser.c xpath.c xpointer.c tree.c uri.c valid.c xinclude.c xmlIO.c: avoiding memcpy in production builds MEM_CLEANUP macro use - parser.[ch] parserInternals.c: optimizations of the tightest internal loops inside the parser. Better checking of I/O flushing/loading conditions - xmllint.c : added --timing Daniel
Owen Taylor 3473f88a 2001-02-23T17:55:21 Revert directory structure changes
CET 2001 Tomasz K³oczko 64636e7f 2001-02-23T01:37:32 moved to libxml directory - this allow simplify automake/autoconf. Now Thu Feb 23 02:03:56 CET 2001 Tomasz K³oczko <kloczek@pld.org.pl> * *.c *.h libxml files: moved to libxml directory - this allow simplify automake/autoconf. Now isn't neccessary hack on am/ac level for make and remove libxml symlink (modified for this also configure.in and main Makefile.am). Now automake abilities are used in best way (like in many other projects with libraries). * include/win32config.h: moved to libxml directory (now include directory isn't neccessary). * Makefile.am, examples/Makefile.am, libxml/Makefile.am: added empty DEFS and in INCLUDES rest only -I$(top_builddir) - this allow minimize parameters count passed to libtool script (now compilation is also slyghtly more quiet). * configure.in: simplifies libzdetestion - prepare separated variables for keep libz name and path to libz header files isn't realy neccessary (if someone have libz installed in non standard prefix path to header files ald library can be passed as: $ CFALGS="-I</libz.h/path>" LDFLAGS="-L</libz/path>" ./configure * autogen.sh: check now for libxml/entities.h. After above building libxml pass correctly and also pass "make install DESTDIR=</install/prefix>" from tar ball generated by "make dist". Seems ac/am reorganization is finished. This changes not touches any other things on *.{c,h} files level.
Daniel Veillard f17e09bc 2001-01-25T13:55:35 Incorporated patches, some cleanup: - xpath.[ch] xpointer.c: added xmlXPathCmpNodes, changed xmlXPtrCmpPoints to use it. - propagated the following patch from Alejandro Forero - include/win32config.h xmlIO.c: applied further suggestions from Igor Zlatkovic <igorz@dialup.nacamar.de> and cleanup - example/gjobread.c: fixed warnings, now that it builds Daniel
Daniel Veillard 5a2b697a 2001-01-20T21:15:50 - xpath.c: seems I finally killed that ugly path evaluation context bug (tagged 9999 in case is is wrong) Daniel
Daniel Veillard a6d8eb62 2000-12-27T10:46:47 Finally had a bit of time to resynch both trees: - HTMLparser.[ch]: added a way to avoid adding automatically omitted tags. htmlHandleOmittedElem() allows to change the default handling. - tree.[ch] xmllint.c: added xmlDocDumpFormatMemory() and xmlDocDumpFormatMemoryEnc(), uses memory functions for output of xmllint too when using --memory flag, added a memory test suite at the Makefile level. - xpathInternals.h xpath.[ch] xpointer.c: fixed problems with namespace use when encountering QNames in XPath evalation, added xmlns() scheme in XPointer. - nanoftp.c : incorporated a fix - parser.c xmlIO.c: fixed problems raised with encoding when using the memory I/O - parserInternals.c: closed bug 25934 reported by torsten.landschoff@innominate.de - TODO: updated Daniel
Daniel Veillard f62ceffb 2000-11-24T23:36:01 General fixes, XPointer improvements: - HTMLparser.c: some fixes on auto-open of html/head/body - encoding.c: fixed a compilation error on some gcc env - xpath.c xpointer.[ch] xpathInternals.h: improved the XPointer implementation - test/XPath/xptr/strpoint test/XPath/xptr/strrange3: added related XPointer tests and associated results Daniel
Daniel Veillard bf43275d 2000-11-12T15:56:56 Bug fixes new Xinclude tests: - nanoftp.c: fixed gcc 2.95 new warnings - SAX.c: fixed a stupid bug - tree.c: fixed a formatting problem when round-tripping from/to memory - xinclude.c: chased memleak, fixed a base problem - xpointer.c: added xmlXPtrBuildRangeNodeList(), finished ? xmlXPtrBuildNodeList() - TODO: updated - Makefile.am test/XInclude/docs test/XInclude/ents result/XInclude: adding a first small set of regression tests for XInclude Daniel
Daniel Veillard c2def84b 2000-11-07T14:21:01 Various patches and bug fixes, and XInclude progresses: - nanohttp.[ch]: applied Wayne Davison patches to access the WWW-Authorization header. - parser.c: Closed Bug#30847: Problems when switching encoding in short files by applying Simon Berg's patch. - valid.c: fixed a validation problem - hash.c parser.h parserInternals.h testHTML.c testSAX.c tree.h xmlerror.h xmlmemory.h xmlversion.h.in: applied a DLL patch from Wayne Davison - xpointer.[ch]: added first version of xmlXPtrBuildNodeList() need to be extended to non full nodes selections. - xinclude.c: starts to work decently Daniel
Daniel Veillard 9e8bfae5 2000-11-06T16:43:11 XInclude and other stuff while travelling. Contributed patches: - tree.[ch] xinclude.[ch] xmllint.c configure.in valid.c debugXML.c xmlversion.h.in: Started adding XInclude support, this is a new xmllint option - tree.c xpath.c: applied TOM patches for XPath - xpointer.c: fixed a couple of errors. - uri.c: added an escaping function needed for xinclude - testXPath.c hash.c HTMLtree.c: minor cleanups raised by new warning from RH70 gcc's version Daniel
Daniel Veillard 2ffc3591 2000-10-30T15:36:47 - parser.[ch]: added xmlIOParseDTD() - xpointer.c: added support for the 2 extra parameters of string-range, fixed a stoopid error when '0' was present in XPointer expressions - test/XPath/xptr/strrange2 result/XPath/xptr/strrange2: added testsuite for the above Daniel
Daniel Veillard d6d7f7bf 2000-10-25T19:56:55 patched to redirrect all "out of context" error messages to a reconfigurable routine. The changes are: * xmlerror.h : added the export of an error context type (void *) an error handler type xmlGenericErrorFunc there is an interface xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler); to reset the error handling routine and its argument (by default it's equivalent to respectively fprintf and stderr. * all the c files: all wild accesses to stderr or stdout within the library have been replaced to calls to the handler. Daniel
Daniel Veillard 29a11cc6 2000-10-25T13:32:39 Releasing 2.2.6 after adding xpathInternals.h: - configure.in: release 2.2.6 - xpath.[ch] xpointer.c xpathInternals.h: added xpathInternals.h exporting the inner functions of xpath for extension modules - doc/*: updated and rebuilt the doc Daniel
Daniel Veillard 1baf412f 2000-10-15T20:38:39 - Release of 2.2.5 - xpointer.c: range() range-inside and other helper - Release of 2.2.5 - xpointer.c: range() range-inside and other helper functions - parserInternals.c: fixed perf problem raised by rolf@pointsman.de Daniel
Daniel Veillard ff9c3307 2000-10-13T16:38:25 More work on XPointer - xpath.c xpointer.c: XPointer reorder of ranges start/end and string-range for empty strings - test/XPath/docs/str test/XPath/xptr/chaptersrange test/XPath/xptr/strrange: augmented the XPointer testsuite Daniel
Daniel Veillard c2df4cde 2000-10-12T23:15:24 Going forward in XPointer implementation: - testXPath.c xpath.[ch]: moved some debug functions to xpath core - xpointer.c: implemented string-range() at least a good first version - test/XPath/docs/str test/XPath/xptr/strrange result/XPath/xptr/strrange: the string-range() tests Daniel
Daniel Veillard 19d61115 2000-10-11T23:50:35 - nanohttp.c: added xmlNanoHTTPTimeout(int delay), removed a bug xmlNanoHTTPMethod on input MimeType Tony Lam <Tony.Lam@eng.sun.com> - xpointer.c: slight extension of xmlXPtrLocationSetMerge Daniel
Daniel Veillard 2d38f047 2000-10-11T10:54:10 - xpath.[ch] xpointer.[ch]: worked on XPath functions and variable handlings (registration, lookup, cleanup) Daniel