dict.c


Log

Author Commit Date CI Message
Daniel Veillard 7f4547cd 2008-10-03T07:58:23 preparing the release of 2.7.2 fix the Solaris portability issue * configure.in doc/* NEWS: preparing the release of 2.7.2 * dict.c: fix the Solaris portability issue * parser.c: additional cleanup on #554660 fix * test/ent13 result/ent13* result/noent/ent13*: added the example in the regression test suite. * HTMLparser.c: handle leading BOM in htmlParseElement() Daniel svn path=/trunk/; revision=3799
Rob Richards 117baa07 2008-08-10T17:07:33 fix non GNUC builds. * dict.c: fix non GNUC builds. svn path=/trunk/; revision=3771
Daniel Veillard d68f8912 2008-08-08T10:09:19 added a program to regression test the dictionary code improve the lookup * testdict.c: added a program to regression test the dictionary code * dict.c: improve the lookup efficiency by caching the key. Daniel svn path=/trunk/; revision=3768
Daniel Veillard ffda65f0 2008-08-07T16:33:49 chased and found a couple of nasty issues Daniel * dict.c: chased and found a couple of nasty issues Daniel svn path=/trunk/; revision=3767
Daniel Veillard 424785e7 2008-08-06T09:35:25 change the big key algorithm to work properly with QName too, fix a bug * dict.c: change the big key algorithm to work properly with QName too, fix a bug with dict size and sub dictionaries Daniel svn path=/trunk/; revision=3764
Rob Richards b6b2ee1a 2008-05-03T12:34:25 check for stdint.h and define types when using MSVC * dict.c: check for stdint.h and define types when using MSVC svn path=/trunk/; revision=3742
Daniel Veillard e9100a58 2008-04-22T08:28:50 improvement on the hashing of the dictionnary, with visible speed up as * dict.c: improvement on the hashing of the dictionnary, with visible speed up as the number of strings in the hash increases, work from Stefan Behnel Daniel svn path=/trunk/; revision=3739
Daniel Veillard b242b088 2008-02-08T09:56:31 applied patch from Florent Guilian to remove an useless mutex in the * dict.c: applied patch from Florent Guilian to remove an useless mutex in the xmlDict structure. older, not commited ... * SAX2.c: another leak reported by Ashwin * xinclude.c: fixed the behaviour when XIncluding a fragment of the current document, patch from Chris Ryan Daniel svn path=/trunk/; revision=3686
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
William M. Brack 4e1c2db8 2005-02-11T10:58:55 fixed compilation warning changed xmlWarningMsg so ctxt->errNo is not set * dict.c: fixed compilation warning * parser.c: changed xmlWarningMsg so ctxt->errNo is not set * xmllint.c: changed to return non-zero status if error on xinclude processing * xmlsave.c: minor deletion of a redundant condition statement
Daniel Veillard 2ae13382 2005-01-25T23:45:06 fixing the way testapi.c is generated, fixes bug #161386 fix a comment * Makefile.am testapi.c doc/Makefile.am: fixing the way testapi.c is generated, fixes bug #161386 * dict.c: fix a comment typo * elfgcchack.h doc/*: regenerated Daniel
Daniel Veillard 1441251f 2005-01-21T23:53:26 a single lock version mostly avoid the cost penalty of the lock in case of * dict.c parser.c include/libxml/dict.h: a single lock version mostly avoid the cost penalty of the lock in case of low parallelism, so applying that version instead. Daniel
Daniel Veillard 1bb16a18 2005-01-21T16:55:41 patch from Gary Coady to fix a race in dict reference counting in * dict.c: patch from Gary Coady to fix a race in dict reference counting in multithreaded apps. Daniel
William M. Brack ad0e67c5 2004-12-01T14:35:10 fixed up some gcc warnings, no change to logic. New macro XML_CAST_FPTR to * dict.c, xpath.c, include/libxml/hash.h: fixed up some gcc warnings, no change to logic. New macro XML_CAST_FPTR to circumvent gcc warnings on function pointer <-> object pointer (a hack).
Daniel Veillard 6bb3e86d 2004-11-24T12:39:00 added xmlDictExists() to the dictionnary interface. applying * dict.c include/libxml/dict.h: added xmlDictExists() to the dictionnary interface. * xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces from Rob Richards Daniel
William M. Brack bf5cf219 2004-08-31T06:47:17 fixed bug introduced during OOM fixup causing problems with default * SAX2.c: fixed bug introduced during OOM fixup causing problems with default namespace when a named prefix with the same href was present (reported on the mailing list by Karl Eichwalder. * xmlstring.c: modified xmlCheckUTF8 with suggested code from Julius Mittenzwei. * dict.c: added a typecast to try to avoid problem reported by Pascal Rodes.
Daniel Veillard 4773df2a 2004-01-23T13:15:13 added io1.c an example ox xmlIO usage and io1.res test result, fixed a * doc/examples/*: added io1.c an example ox xmlIO usage and io1.res test result, fixed a awful lot of memory leaks showing up in testWriter.c, changed the examples and the Makefiles to test memory leaks. * xmlwriter.c: fixed a memory leak * Makefile.am: run the doc/examples regression tests as part of make tests * xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to compile an XPath expression within a context, currently the goal is to be able to reuse the XSLT stylesheet dictionnary, but this opens the door to others possible optimizations. * dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows to build a new dictionnary based on another read-only dictionnary. This is needed for XSLT to keep the stylesheet dictionnary read-only while being able to reuse the strings for the transformation dictionnary. * xinclude.c: fixed a dictionnar reference counting problem occuring when document parsing failed. * testSAX.c: adding option --repeat for timing 100times the parsing * doc/* : rebuilt all the docs Daniel
Daniel Veillard c82c57e6 2004-01-12T16:24:34 some parser optimizations, xmllint --memory --timing --repeat --stream * dict.c parser.c xmlstring.c: some parser optimizations, xmllint --memory --timing --repeat --stream ./db10000.xml went down from 16.5 secs to 15.5 secs. 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 e72c508c 2003-09-19T12:44:05 preparing a 2.6.0-beta2 release avoid a warning avoid duplicate code in * 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
Daniel Veillard c44cfdd7 2003-09-18T10:12:02 the last patch broke unicity of returned strings, removed Daniel * dict.c: the last patch broke unicity of returned strings, removed Daniel
Daniel Veillard 536fad5a 2003-09-18T10:05:56 valgrind found a newly introduced bug Daniel * dict.c: valgrind found a newly introduced bug Daniel
Daniel Veillard ccc4d2b6 2003-09-17T21:27:31 two small improvements Daniel * dict.c xmlreader.c: two small improvements Daniel
Daniel Veillard 81514ba4 2003-09-16T23:17:26 do string allocations in large pools, allowing to find if a string pertain * dict.c include/libxml/dict.h: do string allocations in large pools, allowing to find if a string pertain to a dict quickly * xmllint.c: fix --stream --repeat --timing * Makefile.am: the testThreads run output should be seen. 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 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