1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-21 14:53:44 +03:00
Commit Graph

446 Commits

Author SHA1 Message Date
Daniel Veillard
62998c0ec7 starting to cleanup some of the problems exposed by the W3C/NIST
* SAX2.c parser.c valid.c: starting to cleanup some of the
  problems exposed by the W3C/NIST regression suite.
* result/ent7.sax result/xml2.sax: small fixes.
Daniel
2003-09-15 12:56:36 +00:00
Daniel Veillard
bc92ecad5c more parser error factoring Daniel
* parser.c: more parser error factoring
Daniel
2003-09-15 09:48:06 +00:00
Daniel Veillard
bdbe0d4e78 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
2003-09-14 19:56:14 +00:00
Daniel Veillard
1afc9f3356 starting cleaning up error handling, factorize error processing update of
* parser.c include/libxml/xmlerror.h: starting cleaning up
  error handling, factorize error processing
* doc/xmllint.html: update of the page, remove --sgml
Daniel
2003-09-13 12:44:05 +00:00
Daniel Veillard
3b7840cd6c 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
2003-09-11 23:42:01 +00:00
Daniel Veillard
c6e20e44dd fixed a bug in one corner case of attribute parsing. Daniel
* parser.c: fixed a bug in one corner case of attribute parsing.
Daniel
2003-09-11 16:30:26 +00:00
Daniel Veillard
8e36e6a0be 2.6.0beta1 changes Fixing attribute normalization, might not be totally
* configure.in doc/* : 2.6.0beta1 changes
* SAX2.c hash.c parser.c parserInternals.c: Fixing attribute
  normalization, might not be totally fixed but this should
  make sure SAX event provide the right strings for attributes
  except entities for which libxml2 is different by default
  This should fix #109564
* result/attrib.xml.sax result/ent3.sax result/p3p.sax: minor changes
  in attribute callback values
* result/c14n/with-comments/example-4
  result/c14n/without-comments/example-4: this also fixes a subtle
  bug in the canonicalization tests.
Daniel
2003-09-10 10:50:59 +00:00
Daniel Veillard
e57ec790de 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
2003-09-10 10:50:59 +00:00
William M. Brack
c07329e2ab Implemented detection of compressed files, setting doc->compressed
* xmlIO.c include/libxml/xmlIO.h parser.c: Implemented detection
  of compressed files, setting doc->compressed appropriately
  (bug #120503).
2003-09-08 01:57:30 +00:00
Daniel Veillard
bbeb9f9e26 try to cope with the fact that apps may still have allocated smaller SAX
* parser.c: try to cope with the fact that apps may still
  have allocated smaller SAX callbak block
Daniel
2003-09-07 20:54:29 +00:00
Daniel Veillard
0fb1893539 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
2003-09-07 09:14:37 +00:00
Daniel Veillard
40412cda44 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
2003-09-03 13:28:32 +00:00
Igor Zlatkovic
d37c1394a7 added few casts to shut the compiler warnings 2003-08-28 10:34:33 +00:00
Daniel Veillard
1af9a41f24 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
2003-08-20 22:54:39 +00:00
Daniel Veillard
6155d8aafa 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
2003-08-19 15:01:28 +00:00
Daniel Veillard
2fdbd32d51 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
2003-08-18 12:15:38 +00:00
Daniel Veillard
7fb801f0ed applied patch to xmlCleanupParser from Dave Beckett Daniel
* parser.c: applied patch to xmlCleanupParser from Dave Beckett
Daniel
2003-08-17 21:07:26 +00:00
Daniel Veillard
bf1e3d8346 fixing the xmlSAXParseDTD bug #119536 raised by Malcolm Tredinnick with
* parser.c: fixing the xmlSAXParseDTD bug #119536 raised by
  Malcolm Tredinnick with the patch he suggested.
Daniel
2003-08-14 23:57:26 +00:00
Daniel Veillard
ab1ae3a768 applied UTF-16 encoding handling patch provided by Mark Itzcovitz more
* encoding.c: applied UTF-16 encoding handling patch provided by
  Mark Itzcovitz
* encoding.c parser.c: more cleanup and fixes for UTF-16 when
  not having iconv support.
Daniel
2003-08-14 12:19:54 +00:00
Daniel Veillard
b19ba83f07 fixed the serious CPU usage problem reported by Grant Goodale applied
* parser.c: fixed the serious CPU usage problem reported by
  Grant Goodale
* HTMLparser.c: applied patch from Oliver Kidman about a free
  missing in htmlSAXParseDoc
Daniel
2003-08-14 00:33:46 +00:00
Daniel Veillard
6b621b8938 cleaning up a problem when parsing UTF-16 and libiconv is not used. Daniel
* parser.c: cleaning up a problem when parsing UTF-16 and libiconv
  is not used.
Daniel
2003-08-11 15:03:34 +00:00
Daniel Veillard
8d73bcb50f added a new API to split a QName without generating any memory allocation
* tree.c include/libxml/tree.h: added a new API to split a
  QName without generating any memory allocation
* valid.c: fixed another problem with namespaces on element
  in mixed content case
* python/tests/reader2.py: updated the testcase with
  Bjorn Reese fix to reader for unsignificant white space
* parser.c HTMLparser.c: cleanup.
Daniel
2003-08-04 01:06:15 +00:00
William M. Brack
78637da0ea fixing bug 118559 2003-07-31 14:47:38 +00:00
Daniel Veillard
a6874ca47c applied Peter Jacobi encoding cleanup patch, and also avoided a possible
* parser.c parserInternals.c tree.c: applied Peter Jacobi encoding
  cleanup patch, and also avoided a possible memory leak
Daniel
2003-07-29 16:47:24 +00:00
Daniel Veillard
597bc48bab fixing a bug about a special case of namespace handling, this closes bug
* SAX.c parser.c: fixing a bug about a special case of namespace
  handling, this closes bug #116841
Daniel
2003-07-24 16:08:28 +00:00
Daniel Veillard
34ba387936 removed some warnings by casting xmlChar to unsigned int and a couple of
* DOCBparser.c HTMLparser.c entities.c parser.c relaxng.c
  xmlschemas.c xpath.c: removed some warnings by casting xmlChar
  to unsigned int and a couple of others.
* xmlschemastypes.c: fixes a segfault on empty hexBinary strings
Daniel
2003-07-15 13:34:05 +00:00
Daniel Veillard
d9d32aebd3 use the character() SAX callback if the cdataBlock ain't defined. fix bug
* parser.c HTMLparser.c: use the character() SAX callback
  if the cdataBlock ain't defined.
* xpath.c: fix bug #115349 allowing compilation when configured
  with --without-xpath since the Schemas code needs NAN and co.
Daniel
2003-07-05 20:32:43 +00:00
Daniel Veillard
4e9b1bc21c trying to fix #114277 about when file remapping and escaping should really
* parser.c xmlIO.c: trying to fix #114277 about when file
  remapping and escaping should really be attempted.
Daniel
2003-06-09 10:30:33 +00:00
Daniel Veillard
781ac8b19b patch from Stphane Bidoul for setting up threads global defaults. this
* build_glob.py global.data globals.c parser.c
  include/libxml/globals.h: patch from Stphane Bidoul for setting
  up threads global defaults.
* doc/libxml2-api.xml: this extends the API with new functions
* python/tests/Makefile.am python/tests/reader2.py
  python/tests/thread2.py: integrated the associated testcase and
  fixed the error string used in reader2
Daniel
2003-05-15 22:11:36 +00:00
Daniel Veillard
c3ca5ba405 removed multiple warning, this fixed a bug and should close #111574 Daniel
* DOCBparser.c catalog.c parser.c relaxng.c: removed multiple
  warning, this fixed a bug and should close #111574
Daniel
2003-05-09 22:26:28 +00:00
Daniel Veillard
329456ab09 fix for xmlIOParseDTD same as previous and reported by Petr Pajas Daniel
* parser.c: fix for xmlIOParseDTD same as previous and reported
  by Petr Pajas
Daniel
2003-04-26 21:21:00 +00:00
Daniel Veillard
c6abc3d85f applied fix to xmlSAXParseDTD from Malcolm Tredinnick closing #111638
* parser.c: applied fix to xmlSAXParseDTD from Malcolm Tredinnick
  closing #111638
Daniel
2003-04-26 13:27:30 +00:00
Daniel Veillard
c557346417 fixing an xmlParseDTD bug raised by Petr Pajas Daniel
* parser.c: fixing an xmlParseDTD bug raised by Petr Pajas
Daniel
2003-04-25 16:43:49 +00:00
Daniel Veillard
a76fe5ca11 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
2003-04-24 16:06:47 +00:00
Daniel Veillard
85095e2c07 try to find more places where xmlCanonicPath() must be used to convert
* DOCBparser.c SAX.c catalog.c debugXML.c parser.c: try to find
  more places where xmlCanonicPath() must be used to convert
  filenames to URLs, trying to fix #111088
Daniel
2003-04-23 13:56:44 +00:00
Daniel Veillard
a880b12475 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
2003-04-21 21:36:41 +00:00
Daniel Veillard
3c908dca47 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
2003-04-19 00:07:51 +00:00
Daniel Veillard
3e59fc52d5 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
2003-04-18 12:34:58 +00:00
Daniel Veillard
33300b49f0 augnemting the APIs, cleanups. cleanup bug #111005 added some missing
* include/libxml/relaxng.h relaxng.c include/libxml/xmlreader.h
  xmlreader.c: augnemting the APIs, cleanups.
* parser.c: cleanup bug #111005
* xmlIO.c: added some missing comments
Daniel
2003-04-17 09:09:19 +00:00
Daniel Veillard
adba5f1b0a fixed a possible problem with xmlRecoverMemory() Daniel
* parser.c: fixed a possible problem with xmlRecoverMemory()
Daniel
2003-04-04 16:09:01 +00:00
Daniel Veillard
6c5b2d3fff fixing #109227 providing more context in case of start/end tag mismatch
* parser.c: fixing #109227 providing more context in case of
  start/end tag mismatch
* python/tests/ctxterror.py python/tests/readererr.py: update the
  tests accordingly
Daniel
2003-03-27 14:55:52 +00:00
Daniel Veillard
642104e116 Norm suggested a nicer error message for xml:space values errors Daniel
* parser.c: Norm suggested a nicer error message for xml:space values
  errors
Daniel
2003-03-26 16:32:05 +00:00
Daniel Veillard
5f8d1a3570 validity status was not passed back when validating in entities, but
* parser.c: validity status was not passed back when validating in
  entities, but raised by Oliver Fischer
Daniel
2003-03-23 21:02:00 +00:00
Daniel Veillard
ef8dd7be29 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
2003-03-23 12:02:56 +00:00
Daniel Veillard
77a90a7f8e patch from johan@evenhuis.nl for #107937 fixing some line counting
* HTMLparser.c parser.c parserInternals.c: patch from
  johan@evenhuis.nl for #107937 fixing some line counting
  problems, and some other cleanups.
* result/HTML/: this result in some line number changes
Daniel
2003-03-22 00:04:05 +00:00
Daniel Veillard
39eb88b4ca fix some recursion problems introduced in the last release. more debugging
* SAX.c parser.c: fix some recursion problems introduced in the
  last release.
* relaxng.c: more debugging of the RNG validation engine, still
  problems though.
Daniel
2003-03-11 11:21:28 +00:00
Daniel Veillard
02111c1d56 fixes bug #105998 about false detection of attribute consumption loop.
* parser.c: fixes bug #105998 about false detection of
  attribute consumption loop.
Daniel
2003-02-24 19:14:52 +00:00
Daniel Veillard
c64b8e984c some warning removal on Igor's patch seems I messed up with #106788 fix
* uri.c parser.c: some warning removal on Igor's patch
* tree.c: seems I messed up with #106788 fix
* python/libxml.c: fixed some base problems when Python provides
  the resolver.
* relaxng.c: fixed the interleave algorithm
  found 373 test schemas: 364 success 9 failures
  found 529 test instances: 525 success 4 failures
  the resulting failures are bug in the algorithm from 7.3 and
  lack of support for params
Daniel
2003-02-24 11:47:13 +00:00
Daniel Veillard
0046c0fec2 another fix for nodeinfo in entities problem fixed bug #106788 from James
* parser.c: another fix for nodeinfo in entities problem
* tree.c entities.c: fixed bug #106788 from James Clark
  some spaces need to be serialized as character references.
Daniel
2003-02-23 13:52:30 +00:00
Igor Zlatkovic
ce07616c08 path handling bug introduced by my recent machinations fixed 2003-02-23 13:39:39 +00:00