include/libxml/parser.h


Log

Author Commit Date CI Message
Daniel Veillard 968a03a2 2012-08-13T12:41:33 Add support for big line numbers in error reporting Fix the lack of line number as reported by Johan Corveleyn <jcorvel@gmail.com> * parser.c include/libxml/parser.h: add an XML_PARSE_BIG_LINES parser option not switch on by default, it's an opt-in * SAX2.c: if XML_PARSE_BIG_LINES is set store the long line numbers in the psvi field of text nodes * tree.c: expand xmlGetLineNo to extract those informations, also make sure we can't fail on recursive behaviour * error.c: in __xmlRaiseError, if a node is provided, call xmlGetLineNo() if we can't get a valid line number. * xmllint.c: switch on XML_PARSE_BIG_LINES in xmllint
Daniel Veillard 0d51cfeb 2012-05-15T11:18:40 Fix a race in xmlNewInputStream For https://bugzilla.gnome.org/show_bug.cgi?id=643148 Reported by Bill Clarke <llib@computer.org>, it used a global variable as a counter for the input id and this was not thread safe. To avoid the race without adding unneeded locking in the parser path, move the id to the parser context instead.
Anders F Bjorklund eae52617 2011-09-18T16:59:13 add lzma compression support
Daniel Veillard c62efc84 2011-05-16T16:03:50 Add options to ignore the internal encoding For both XML and HTML, the document can provide an encoding either in XMLDecl in XML, or as a meta element in HTML head. This adds options to ignore those encodings if the encoding is known in advace for example if the content had been converted before being passed to the parser. * parser.c include/libxml/parser.h: add XML_PARSE_IGNORE_ENC option for XML parsing * include/libxml/HTMLparser.h HTMLparser.c: adds the HTML_PARSE_IGNORE_ENC for HTML parsing * HTMLtree.c: fix the handling of saving when an unknown encoding is defined in meta document header * xmllint.c: add a --noenc option to activate the new parser options
Giuseppe Iuculano 48f7dcb7 2010-11-04T17:42:42 480323 add code to plug in ICU converters by default This is not configured in by default but after some serious massaging incorporate that patch from Chromium/Chrome.
Eugene Pimenov 615904f5 2010-03-15T15:16:02 Switch the HTML parser to be non-recursive * HTMLparser.c: new htmlParseElementInternal non recursive, with htmlParseContentInternal and new function to handle node info and element end. * include/libxml/parser.h: add new stack for element info in parser context * parserInternals.c: fee element info stack
Daniel Veillard 029a04d2 2009-08-24T12:50:23 541335 HTML avoid creating 2 head or 2 body element * HTMLparser.c: check when we see an head or a body tag and avoid autogenerating them * include/libxml/parser.h: the values for ctxt->html change depending on the head or body tags being seen
Daniel Veillard f39eafaa 2009-08-20T19:15:08 Make xmlRecoverDoc const (Martin Trappel) * include/libxml/parser.h parser.c: just make the parameter a const
Daniel Veillard f076f348 2009-04-15T09:20:25 change ATTRIBUTE_PRINTF into LIBXML_ATTR_FORMAT to avoid macro name * include/libxml/parser.h include/libxml/xmlwriter.h include/libxml/relaxng.h include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in include/libxml/valid.h include/libxml/xmlschemas.h include/libxml/xmlerror.h: change ATTRIBUTE_PRINTF into LIBXML_ATTR_FORMAT to avoid macro name collisions with other packages and headers as reported by Belgabor and Mike Hommey daniel svn path=/trunk/; revision=3827
Daniel Veillard f63085de 2009-01-18T20:53:59 port patch from Marcus Meissner to add gcc checking for printf like * include/libxml/parser.h include/libxml/xmlwriter.h include/libxml/relaxng.h include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in include/libxml/valid.h include/libxml/xmlschemas.h include/libxml/xmlerror.h: port patch from Marcus Meissner to add gcc checking for printf like functions parameters, should fix #65068 * doc/apibuild.py doc/*: modified the script accordingly and regenerated * xpath.c xmlmemory.c threads.c: fix a few warnings Daniel svn path=/trunk/; revision=3813
Rob Richards b9ed017d 2009-01-05T17:28:50 add XML_PARSE_OLDSAX parser option to enable pre 2.7 SAX behavior. * include/libxml/parser.h parser.c: add XML_PARSE_OLDSAX parser option to enable pre 2.7 SAX behavior. svn path=/trunk/; revision=3807
Daniel Veillard 0161e638 2008-08-28T15:36:32 completely different fix for the recursion detection based on entity * parser.c include/libxml/parser.h: completely different fix for the recursion detection based on entity density, big cleanups in the entity parsing code too * result/*.sax*: the parser should not ask for used defined versions of the predefined entities * testrecurse.c: automatic test for entity recursion checks * Makefile.am: added testrecurse * test/recurse/lol* test/recurse/good*: a first set of tests for the recursion Daniel svn path=/trunk/; revision=3783
Daniel Veillard 8915c150 2008-08-26T13:05:34 strengthen some of the internal parser limits, add an XML_PARSE_HUGE * include/libxml/parser.h parser.c xmllint.c: strengthen some of the internal parser limits, add an XML_PARSE_HUGE option to bypass them all. More internal parser limits will still need to be added. Daniel svn path=/trunk/; revision=3777
Daniel Veillard 54bd29b7 2008-08-26T07:26:55 patch based on Wieant Nielander contribution to add the option of not * include/libxml/parser.h xinclude.c xmllint.c: patch based on Wieant Nielander contribution to add the option of not doing URI base fixup in XInclude Daniel svn path=/trunk/; revision=3775
Daniel Veillard 4bf899bf 2008-08-20T17:04:30 fix for CVE-2008-3281 Daniel * include/libxml/parser.h include/libxml/entities.h entities.c parserInternals.c parser.c: fix for CVE-2008-3281 Daniel svn path=/trunk/; revision=3772
Daniel Veillard 34e3f641 2008-07-29T09:02:27 implement XML-1.0 5th edition, add parser option XML_PARSE_OLD10 to stick * include/libxml/parser.h include/libxml/xmlerror.h parser.c: implement XML-1.0 5th edition, add parser option XML_PARSE_OLD10 to stick to old behaviour * testapi.c gentest.py: modified slightly and regenerated * Makefile.am: add testchar Daniel svn path=/trunk/; revision=3755
Daniel Veillard 75acfeea 2006-07-13T06:29:56 applied patch from Andrew W. Nosenko to expose if zlib support was * configure.in parser.c xmllint.c include/libxml/parser.h include/libxml/xmlversion.h.in: applied patch from Andrew W. Nosenko to expose if zlib support was compiled in, in the header, in the feature API and in the xmllint --version output. Daniel
Kasimier T. Buchcik 803e37ac 2006-06-09T19:46:46 Clarified in the docs that the tree must not be tried to be modified if * include/libxml/parser.h: Clarified in the docs that the tree must not be tried to be modified if using the parser flag XML_PARSE_COMPACT as suggested by Stefan Behnel (#344390).
Daniel Veillard 602434de 2005-09-12T09:20:31 damn XML_FEATURE_UNICODE clashes with Expat headers rename to XML_WITH_ to * include/libxml/parser.h parser.c xmllint.c: damn XML_FEATURE_UNICODE clashes with Expat headers rename to XML_WITH_ to fix bug #316053. * doc/Makefile.am: build devhelp before the examples. * doc/*: regenerated the API Daniel
Daniel Veillard 0bcc7f6a 2005-09-04T21:39:03 updated the docs and rebuild releasing 2.6.21 removed * NEWS elfgcchack.h testapi.c doc/*: updated the docs and rebuild releasing 2.6.21 * include/libxml/threads.h threads.c: removed xmlIsThreadsEnabled() * threads.c include/libxml/threads.h xmllint.c: added the more generic xmlHasFeature() as suggested by Bjorn Reese, xmllint uses it. Daniel
Daniel Veillard 8874b94c 2005-08-25T13:19:21 added a parser XML_PARSE_COMPACT option to allocate small text nodes (less * HTMLparser.c parser.c SAX2.c debugXML.c tree.c valid.c xmlreader.c xmllint.c include/libxml/HTMLparser.h include/libxml/parser.h: added a parser XML_PARSE_COMPACT option to allocate small text nodes (less than 8 bytes on 32bits, less than 16bytes on 64bits) directly within the node, various changes to cope with this. * result/XPath/tests/* result/XPath/xptr/* result/xmlid/*: this slightly change the output Daniel
Daniel Veillard ffa3c749 2005-07-21T13:24:09 applied a patch from Marcus Boerger to fix problems with calling * error.c globals.c parser.c runtest.c testHTML.c testSAX.c threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h include/libxml/valid.h include/libxml/xmlIO.h include/libxml/xmlerror.h include/libxml/xmlexports.h include/libxml/xmlschemas.h: applied a patch from Marcus Boerger to fix problems with calling conventions on Windows this should fix #309757 Daniel
Daniel Veillard 39e5c890 2005-07-03T22:48:50 fixing a leak detected by testapi in xmlDOMWrapAdoptNode, and fixing * testapi.c tree.c: fixing a leak detected by testapi in xmlDOMWrapAdoptNode, and fixing another side effect in testapi seems to pass tests fine now. * include/libxml/parser.h parser.c: xmlStopParser() is no more limited to push mode * error.c: remove a warning * runtest.c xmllint.c: avoid compilation errors if only some parts of the library are compiled in. Daniel
Daniel Veillard 7331e5ca 2005-03-31T14:59:00 fixed #172260 redundant assignment. fixed xmlSAXParseDoc() and * SAX.c: fixed #172260 redundant assignment. * parser.c include/libxml/parser.h: fixed xmlSAXParseDoc() and xmlParseDoc() signatures #172257. Daniel
William M. Brack 21e4ef20 2005-01-02T09:53:13 Re-examined the problems of configuring a "minimal" library. Synchronized the header files with the library code in order to assure that all the various conditionals (LIBXML_xxxx_ENABLED) were the same in both. Modified the API database content to more accurately reflect the conditionals. Enhanced the generation of that database. Although there was no substantial change to any of the library code's logic, a large number of files were modified to achieve the above, and the configuration script was enhanced to do some automatic enabling of features (e.g. --with-xinclude forces --with-xpath). Additionally, all the format errors discovered by apibuild.py were corrected. * configure.in: enhanced cross-checking of options * doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml, doc/libxml2-api.xml, gentest.py: changed the usage of the <cond> element in module descriptions * elfgcchack.h, testapi.c: regenerated with proper conditionals * HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c, testSAX.c: cleaned up conditionals * include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h, hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h, valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]: synchronized the conditionals with the corresponding module code * doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c: added additional conditions required for compilation * doc/*.html, doc/html/*.html: rebuilt the docs
Daniel Veillard c14c3892 2004-08-16T12:34:50 added help for new set shell command added parser option to not generate * debugXML.c: added help for new set shell command * xinclude.c xmllint.c xmlreader.c include/libxml/parser.h: added parser option to not generate XInclude start/end nodes, added a specific option to xmllint to test it fixes #130769 * Makefile.am: regression test the new feature * doc/xmllint.1 doc/xmllint.xml: updated man page to document option. Daniel
Daniel Veillard 29b17482 2004-08-16T00:39:03 small typo pointed out by Mike Hommey slightly improved the --c14n * 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
Daniel Veillard 0df3bc3f 2004-06-08T12:03:41 fixed a serious problem when substituing entities using the Reader, the * parser.c xmlreader.c include/libxml/parser.h: fixed a serious problem when substituing entities using the Reader, the entities content might be freed and if rereferenced would crash * Makefile.am test/* result/*: added a new test case and a new test operation for the reader with substitution of entities. Daniel
Daniel Veillard 3671190b 2004-02-11T13:25:26 added xmlByteConsumed() interface updated the benchmark rebuilt the docs * 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
William M. Brack a2e844a3 2004-01-06T11:52:13 moved string and UTF8 routines out of parser.c and encoding.c into a new * encoding.c, parser.c, xmlstring.c, Makefile.am, include/libxml/Makefile.am, include/libxml/catalog.c, include/libxml/chvalid.h, include/libxml/encoding.h, include/libxml/parser.h, include/libxml/relaxng.h, include/libxml/tree.h, include/libxml/xmlwriter.h, include/libxml/xmlstring.h: moved string and UTF8 routines out of parser.c and encoding.c into a new module xmlstring.c with include file include/libxml/xmlstring.h mostly using patches from Reid Spencer. Since xmlChar now defined in xmlstring.h, several include files needed to have a #include added for safety. * doc/apibuild.py: added some additional sorting for various references displayed in the APIxxx.html files. Rebuilt the docs, and also added new file for xmlstring module. * configure.in: small addition to help my testing; no effect on normal usage. * doc/search.php: added $_GET[query] so that persistent globals can be disabled (for recent versions of PHP)
William M. Brack 7762bb15 2004-01-04T14:49:01 added a routine xmlStrncatNew to create a new string from 2 frags. added * parser.c, include/libxml/parser.h: added a routine xmlStrncatNew to create a new string from 2 frags. * tree.c: added code to check if node content is from dictionary before trying to change or concatenate.
Daniel Veillard be586972 2003-11-18T20:56:51 modified the file header to add more informations, painful... updated to * 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
Aleksey Sanin b5a46da4 2003-10-29T15:51:17 added xmlStrVPrintf function
Daniel Veillard 9ba8e389 2003-10-28T21:31:45 included a new function to reuse a Push parser context, based on Graham * parser.c include/libxml/parser.h: included a new function to reuse a Push parser context, based on Graham Bennett original code * valid.c: in HTML, a name in an input is not an ID * TODO: bug list update Daniel
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 2b8c4a15 2003-10-02T22:28:19 changed 'make tests' to use a concise output, scrolling to see where thing * 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
Aleksey Sanin e7acf431 2003-10-02T20:05:27 introduced xmlStrPrintf function - wrapper for snprintf
Daniel Veillard 73b013fc 2003-09-30T12:36:01 added a new configure option --with-push, some cleanups, chased code size * HTMLparser.c Makefile.am configure.in legacy.c parser.c parserInternals.c testHTML.c xmllint.c include/libxml/HTMLparser.h include/libxml/parser.h include/libxml/parserInternals.h include/libxml/xmlversion.h.in: added a new configure option --with-push, some cleanups, chased code size anomalies. Now a library configured --with-minimum is around 150KB, sounds good enough. Daniel
Daniel Veillard 9ee35f36 2003-09-28T00:19:54 fix a bug raised by the Mips compiler. move the SAXv1 block definitions to * parser.c: fix a bug raised by the Mips compiler. * include/libxml/SAX.h include/libxml/parser.h: move the SAXv1 block definitions to parser.h fixes bug #123380 * xmlreader.c include/libxml/xmlreader.h: reinstanciate the attribute and element pool borken 2 commits ago. Start playing with an entry point to preserve a subtree. * entities.c: remove a warning. Daniel
Daniel Veillard 9475a352 2003-09-26T12:47:50 added the same htmlRead APIs than their XML counterparts new parser * HTMLparser.c testHTML.c xmllint.c include/libxml/HTMLparser.h: added the same htmlRead APIs than their XML counterparts * include/libxml/parser.h: new parser options, not yet implemented, added an options field to the context. * tree.c: patch from Shaun McCance to fix bug #123238 when ]]> is found within a cdata section. * result/noent/cdata2 result/cdata2 result/cdata2.rdr result/cdata2.sax test/cdata2: add one more cdata test Daniel
Daniel Veillard 60942def 2003-09-25T21:05:58 Changed the new xmlRead/xmlCtxtRead APIs to have an extra base URL * parser.c xmllint.c doc/libxml2-api.xml include/libxml/parser.h: Changed the new xmlRead/xmlCtxtRead APIs to have an extra base URL parameter when not loading from a file or URL. Daniel
Daniel Veillard e96a2a4b 2003-09-24T21:23:56 adding repeated parsing and validating tests make the new DOM tree * Makefile.am: adding repeated parsing and validating tests * SAX2.c parser.c tree.c include/libxml/parser.h: make the new DOM tree building interfaces use the dictionary from the parsing context to build the element and attributes names as well as formatting spaces and short text nodes * include/libxml/dict.h dict.c: added some reference counting for xmlDictPtr because they can be shared by documents and a parser context. * xmlreader.c: a bit of cleanup, remove the specific tree freeing functions and use the standard ones now. * xmllint.c: add --nodict * python/libxml.c: fix a stupid bug so that ns() works on attribute nodes. Daniel
Daniel Veillard 16fa96c5 2003-09-23T21:50:54 adding a new set of API for parsing xmlReadDoc() xmlReadFile() ... * parser.c include/libxml/parser.h: adding a new set of API for parsing xmlReadDoc() xmlReadFile() ... xmlReadIO() and xmlCtxtReadDoc() ... xmlCtxtReadIO(). That with a clear define of xmlParserOption, xmlCtxtUseOptions() should simplify custom parsing without being tempted to use global variables, and xmlCtxtReset() should allow reuse of a context for multiple parsing. * xmllint.c: switched to use xmlReadXXX, allow options to be used simultaneously with less troubles. * tree.c: simple warning removal * doc/apibuild.py: small fix * doc/libxml2-api.xml win32/libxml2.def.src: updated Daniel
Daniel Veillard 1989505a 2003-09-17T13:59:32 more performance hunting reducing memory allocation and free and avoiding * SAX2.c xmlreader.c include/libxml/parser.h: more performance hunting reducing memory allocation and free and avoiding expensive routines Daniel
Daniel Veillard 8a44e59d 2003-09-15T14:50:06 starting work on reusing the parser dictionary for the element and * SAX2.c include/libxml/parser.h: starting work on reusing the parser dictionary for the element and attribute tag names. Add pools for Element and Attributes in the parser context, which should help speeding up the reader. * Makefile.am result/*.rdr : adding non-python reader regression tests. Daniel
Daniel Veillard bdbe0d4e 2003-09-14T19:56:14 factoring of more error handling code, serious size reduction and more * parser.c include/libxml/xmlerror.h: factoring of more error handling code, serious size reduction and more lisibility of the resulting code. * parserInternals.c parser.c include/libxml/parserInternals.h include/libxml/parser.h: changing the way VC:Proper Group/PE Nesting checks are done, use a counter for entities. Entities where freed and reallocated at the same address failing the check. * tree.c: avoid a warning * result/valid/* result/VC/*: this slightly changes some validation error messages. Daniel
Daniel Veillard 3b7840cd 2003-09-11T23:42:01 adding namespace checkings while making sure they still parse as * parser.c parserInternals.c tree.c include/libxml/parser.h include/libxml/xmlerror.h: adding namespace checkings while making sure they still parse as wellformed documents. Add an nsWellFormed status report to the context, and provide new appropriate error codes. * Makefile.am result/namespaces/* test/namespaces/*: add specific regression testing for the new namespace support * test/att5 result/noent/att5 result/att5 result/att5.sax: add more coverage for the attribute parsing and normalization code. Daniel
Daniel Veillard 07cb8226 2003-09-10T10:51:05 Time to commit 3 days of work rewriting the parser internal, 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
Daniel Veillard 0fb18935 2003-09-07T09:14:37 allow to give -1 for undefined length in lookups first round of work on * dict.c: allow to give -1 for undefined length in lookups * include/libxml/parser.h parser.c parserInternals.c testSAX.c: first round of work on the new SAX2 interfaces, the API will change but commiting before changing for historical reference. Daniel
Daniel Veillard 40412cda 2003-09-03T13:28:32 when creating a DOCTYPE use "html" lowercase by default instead of "HTML" * HTMLparser.c: when creating a DOCTYPE use "html" lowercase by default instead of "HTML" * parser.c xmlreader.c: optimization, gain a few % parsing speed by avoiding calls to "areBlanks" when not needed. * include/libxml/parser.h include/libxml/tree.h: some structure extensions for future work on using per-document dictionaries. Daniel
Igor Zlatkovic 76874e45 2003-08-25T09:05:12 Exportability taint of the headers
Daniel Veillard 1af9a41f 2003-08-20T22:54:39 Adding new version of the SAX interface, it's not there yet, currently * 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
Daniel Veillard 6155d8aa 2003-08-19T15:01:28 optimization when freeing hash tables. some tuning of buffer allocations * 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
Daniel Veillard 2fdbd32d 2003-08-18T12:15:38 new dictionary module to keep a single instance of the names used by the * dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am: new dictionary module to keep a single instance of the names used by the parser * DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c: switched all parsers to use the dictionary internally * include/libxml/HTMLparser.h include/libxml/parser.h include/libxml/parserInternals.h include/libxml/valid.h: Some of the interfaces changed as a result to receive or return "const xmlChar *" instead of "xmlChar *", this is either insignificant from an user point of view or when the returning value changed, those function are really parser internal methods that no user code should really change * doc/libxml2-api.xml doc/html/*: the API interface changed and the docs were regenerated Daniel
Daniel Veillard a76fe5ca 2003-04-24T16:06:47 integrated the Out Of Memory test from Havoc Pennington #109368 a lot of * Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of Memory test from Havoc Pennington #109368 * SAX.c parser.c parserInternals.c tree.c uri.c valid.c xmlmemory.c xmlreader.c xmlregexp.c include/libxml/tree.h include/libxml/parser.h: a lot of memory allocation cleanups based on the results of the OOM testing * check-relaxng-test-suite2.py: seems I forgot to commit the script. Daniel
Daniel Veillard a880b124 2003-04-21T21:36:41 a lot of performance work especially the speed of streaming through the * globals.c libxml.h parser.c parserInternals.c tree.c xmllint.c xmlreader.c include/libxml/parser.h: a lot of performance work especially the speed of streaming through the reader and push interface. Some thread related optimizations. Nearly doubled the speed of parsing through the reader. Daniel
Daniel Veillard 3e59fc52 2003-04-18T12:34:58 added support for large file, tested with a 3+GB instance, and some * 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
Daniel Veillard ef8dd7be 2003-03-23T12:02:56 fixing bug #108976 get the ID/REFs to reference the ID in the document * parser.c: fixing bug #108976 get the ID/REFs to reference the ID in the document content and not in the entity copy * SAX.c include/libxml/parser.h: more checking of the ID/REF stuff, better solution for #107208 * xmlregexp.c: removed a direct printf, dohhh * xmlreader.c: fixed a bug on streaming validation of empty elements in entities * result/VC/ElementValid8 test/VCM/v20.xml result/valid/xhtml1.xhtml: cleanup of the validation tests * test/valid/id* test/valid/dtds/destfoo.ent result/valid/id*: added more ID/IDREF tests to the suite Daniel
Daniel Veillard dad3f680 2002-11-17T16:47:27 preparing release 2.4.27 updated and rebuilt the docs try to make sure the * configure.in: preparing release 2.4.27 * doc/* : updated and rebuilt the docs * doc/Makefile.am libxml.spec.in: try to make sure the tutorial and all the docs are actually packaged and in the final RPMs * parser.c parserInternals.c include/libxml/parser.h: restore xmllint --recover feature. Daniel
Daniel Veillard 0821b158 2002-11-12T20:57:47 fixed bug #98338 , fatalError SAX callback is never used. Daniel * include/libxml/parser.h: fixed bug #98338 , fatalError SAX callback is never used. Daniel
Daniel Veillard 8606bbbc 2002-11-12T12:36:52 fixed the initialization of the SAX structure which was breaking xsltproc * parserInternals.c: fixed the initialization of the SAX structure which was breaking xsltproc * xpath.c: patch from Petr Pajas for CDATA nodes * tree.c: patch from Petr Pajas improving xmlGetNodePath() * parser.c include/libxml/parser.h: patch from Peter Jones removing a leak in xmlSAXParseMemory() and adding the function xmlSAXParseMemoryWithData() Daniel
Daniel Veillard e645e8c1 2002-10-22T17:35:37 Applied the VMS update patch from Craig A. Berry update Daniel * vms/build_libxml.com vms/config.vms vms/readme.vms include/libxml/parser.h include/libxml/parserInternals.h include/libxml/tree.h include/libxml/xmlIO.h HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c: Applied the VMS update patch from Craig A. Berry * doc/*.html: update Daniel
Daniel Veillard 58e44c9d 2002-08-02T22:19:49 adding a new API for Christian Glahn: xmlParseBalancedChunkMemoryRecover * parser.c include/libxml/parser.h: adding a new API for Christian Glahn: xmlParseBalancedChunkMemoryRecover * valid.c: patch from Rick Jones for some grammar cleanup in validation messages * result/VC/* result/valid/*: this slightly change some of the regression tests outputs Daniel
Daniel Veillard 61f26174 2002-03-12T18:46:39 Heiko W. Rupp fixed a lot of comments to generate better API descriptions * include/libxml/*.h: Heiko W. Rupp fixed a lot of comments to generate better API descriptions etc... Daniel
Daniel Veillard 4a7ae503 2002-02-18T19:18:17 isExtender was missing a char % are acceptable in the internal subset if * xmlInternald.c: isExtender was missing a char * parser.c include/libxml/parser.h: % are acceptable in the internal subset if within a PUBLIC ID Daniel
Daniel Veillard 6c4ffafd 2002-02-11T08:54:05 trying to fix the include mess Daniel * 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
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 9d06d300 2002-01-22T18:15:52 Build a new version hopefully near complete and fully documented of the * 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
Daniel Veillard 963d2ae4 2002-01-20T22:08:18 cleanup patch from Anthony Jones fix the headers to avoid in make scan * SAX.c: cleanup patch from Anthony Jones * doc/Makefile.am: fix the headers to avoid in make scan * parserInternals.c xpath.c include/libxml/*.h: cleanup of the includes, * vs Ptr and general cleanup * parsedecl.py: first version of a script to extract the module interfaces, the goal will be to provide .decl or XML specification of the interfaces to build wrappers. 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 8bdb91dd 2001-10-31T17:52:43 cleanup cleanup too added xmlNoNetExternalEntityLoader() from xsltproc * 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
Daniel Veillard 64a411cc 2001-10-15T12:32:07 make the allocation be per-thread a configure option fixed compilation * 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
Daniel Veillard 5ee57fc9 2001-10-15T10:46:16 Norm reported that a few lines added were breaking libxslt compile, * include/libxml/parser.h: Norm reported that a few lines added were breaking libxslt compile, removed them for now Daniel
Daniel Veillard d0463560 2001-10-13T09:15:48 Applied the last patches from Gary, cleanup, activated threading all user * 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
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 a293c323 2001-10-02T13:54:14 adding xmlSAXParseFileWithData following Marco Stipek suggestion Daniel * win32/dsp/libxml2.def.src include/libxml/parser.h parser.c: adding xmlSAXParseFileWithData following Marco Stipek suggestion Daniel
Daniel Veillard 5d90b6c9 2001-08-22T14:29:45 added support and APIs needed for the catalog PI cleanup 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
Daniel Veillard cda96921 2001-08-21T10:56:31 more work on the XML catalog support. small cleanup seems using list as a * Makefile.am catalog.c xmlcatalog.c include/libxml/catalog.h: more work on the XML catalog support. * parser.c include/libxml/parser.h: small cleanup seems using list as a public parameter name can give portability troubles * trionan.c trionan.h xpath.c include/libxml/trionan.h include/libxml/xpath.h include/libxml/Makefile.am: removed trionan from the libxml API, added xmlXPathIsInf and xmlXPathIsNaN wrappers Daniel
Daniel Veillard 50822cb6 2001-07-26T20:05:51 applied const patches from Tom Moog #58002 Daniel * parser.c include/libxml/parser.h: applied const patches from Tom Moog #58002 Daniel
Daniel Veillard d9bad13b 2001-07-23T19:39:43 removing history/readline changed this slightly make element content line * result/scripts/base*: removing history/readline changed this slightly * include/libxml/parser.h SAX.c parser.c parserInternals.c xmllint.c: make element content line number generation optionnal to avoid breaking old apps added interface to switch Daniel
Daniel Veillard 5e2dace1 2001-07-18T19:30:27 Cleanup, cleanup .. removed libxml softlink for good cleanup to get 100% Cleanup, cleanup .. * configure.in Makefile.am: removed libxml softlink for good * include/libxml/*.h *.c doc/Makefile.am: cleanup to get 100% coverage by gtk-doc Daniel
Daniel Veillard 77044731 2001-06-29T21:31:07 xmlStrstr args are both const small cleanup reformated, fixed problems if * include/libxml/parser.h parser.c: xmlStrstr args are both const * xpath.c: small cleanup * xmlGetNsList: reformated, fixed problems if used on Entities 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 d16df9f6 2001-05-23T13:44:21 - xinclude.c: fixed XInclude recursive behaviour bug #54678 - result/XInclude/recursive.xml test/XInclude/docs/recursive.xml test/XInclude/ents/inc.txt test/XInclude/ents/sub-inc.ent: added specific regression test - parser.h: preparing for the XSLT mode where DTD inherited attributes are added to the tree. 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
Daniel Veillard fd7ddca8 2001-05-16T10:57:35 - parser.c parser.h parserInternals.h: fixed a couple of interfaces for handling memory buffer input to const char * upon suggestion of JamesH. Daniel
Daniel Veillard eae522a0 2001-04-23T13:41:34 Time to work on helping the Gnome Doc project, first step is reintegrating the SGML DocBook parser in libxml2 distrib: - DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am xmlversion.h.in: started (re)integrating the DocBook SGML parser. - SAX.[ch]: cleanup and updates for DocBook - debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or ex SGML identifier changes - valid.c: removed a static unused function. 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 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 0f2a53cc 2001-02-05T17:57:33 Bug fixes and an extension found and required by XSLT: - xpath.c: bug fixes found from XSLT - tree.c: preserve node->name special values when copying nodes. - parserInternals.[ch] parser.[ch] SAX.c : added a mode where external subset are fetched when available but without full validation. Added xmlLoadExtDtdDefaultValue, need a function. - HTMLtree.c: add support for xmlStringTextNoenc for XSLt HTML output with encoding disabled. Daniel
Daniel Veillard ce6e98d6 2000-11-25T09:54:49 Big OpenVMS patch: - nanohttp.c parser.[ch] tree.[ch] xmlIO.[ch] xmllint.c Big OpenVMS patch: - nanohttp.c parser.[ch] tree.[ch] xmlIO.[ch] xmllint.c xpath.c parserInternals.h vms/build_libxml.com vms/config.vms Makefile.am: integrated a set of OpenVMS changes from Howard Taylor <Howard.Taylor@pacoast.com> Daniel
Daniel Veillard 41e06513 2000-11-13T11:47:47 A few serious bugfixes: - parser.[ch] parserInternals.c: applied the conditional section processing fix from Jonathan P Springer <jonathan.springer2@gte.net> - xmlversion.h.in win32/libxml2/libxml2.dsp : Updated MS project file, fixed iconv default non support - xpath.c: fixed the problem of evaluating relative expressions when a node context is provided. 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 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 8b5dd83f 2000-10-01T20:28:44 - configure.in: releasing 2.2.4 - parser.[ch]: added xmlStrEqual() - HTMLparser.c HTMLtree.c SAX.c debugXML.c entities.c parser.c tree.c valid.c xlink.c xpath.c: converted all !xmlStrcmp to use xmlStrEqual instead - TODO: updated - added an XPath test Daniel
Daniel Veillard bc765307 2000-10-01T18:23:35 Cleanups, 1 bug fix: - HTMLparser.c: fixed htmlStartCloseIndexinitialized init - entities.h: exported xmlInitializePredefinedEntities - parser.[ch] : added xmlInitParser() - parserInternals.h : had to export htmlInitAutoClose() Daniel
Daniel Veillard b656ebe4 2000-09-22T13:51:48 Cleanup, patch from Wayne Davison: - xmlIO.h tree.h: made xmlNodeDump() and xmlNodeDumpOutput() public - parser.[ch] nanohttp.c HTMLtree.c HTMLparser.c tree.c: applied and modified slightly Wayne Davison patch adding xmlStrcasecmp and related function, fixing xmlStrncmp(), and associated cleanup - result/HTML/entities.html.sax: updating result Daniel
Daniel Veillard b1059e2f 2000-09-16T14:02:43 Finally commiting work done on the plane, major cleanup, spread some serious anti bitrot all over the place: - parserInternals.c parserInternals.h parser.c Makefile.am: created a new module parserInternals.c, moved most of the code shared by the various parsers there, as well as deprecated code from parser.c. More cleanup of parser.c - uri.c: fixed a problem when URI is NULL - valid.c: speedup when looking for an attribute declaration Daniel