1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-01-14 19:24:06 +03:00

316 Commits

Author SHA1 Message Date
William M. Brack
42331a9029 further fixes for out of memory condition, mostly from Olivier Andrieu.
* SAX2.c, tree.c, uri.c, xmlIO.c, xmlreader.c: further
  fixes for out of memory condition, mostly from Olivier
  Andrieu.
* testOOM.c: some further improvement by Olivier, with
  a further small enhancement for easier debugging.
2004-07-29 07:07:16 +00:00
William M. Brack
9f797abdb9 implemented patches supplied by Olivier Andrieu (bug 148588), plus made
* SAX2.c, error.c, parser.c, tree.c, xmlreader.c:
  implemented patches supplied by Olivier Andrieu
  (bug 148588), plus made some further enhancements, to
  correct some problems with out of memory conditions.
* testOOM.c: improved with patches from Olivier Andrieu
2004-07-28 07:40:12 +00:00
William M. Brack
30fe43f614 put in patch for Windows buffer re-allocation submitted by Steve Hay (bug
* tree.c: put in patch for Windows buffer re-allocation
  submitted by Steve Hay (bug 146697)
2004-07-26 18:00:58 +00:00
Daniel Veillard
62040be360 avoid returning default namespace when searching from an attribute reverse
* tree.c: avoid returning default namespace when searching
  from an attribute
* entities.c xmlwriter.c: reverse xmlEncodeSpecialChars() behaviour
  back to escaping " since the normal serialization routines do not
  use it anymore, should close bug #134477 . Tried to make
  the writer avoid it too but it didn't work.
Daniel
2004-05-17 03:17:26 +00:00
Daniel Veillard
bf62949f2c small buffer resizing improvement from Morten Welinder closes #140629
* tree.c: small buffer resizing improvement from Morten Welinder
  closes #140629
Daniel
2004-04-20 22:20:59 +00:00
William M. Brack
57e9e9180a Changed the flag to xmlDocCopyNode (and similar routines), previously used
* tree.c: Changed the flag to xmlDocCopyNode (and similar routines),
  previously used only for recursion, to use a value of '2' to
  indicate copy properties & namespaces, but not children.
* xinclude.c: changed the handling of ranges to use the above new
  facility.  Fixes Bug 134268.
2004-03-09 16:19:02 +00:00
Daniel Veillard
2156d4387b fixing compilation bug with some options disabled as well as
* debugXML.c testHTML.c tree.c doc/examples/*.c
  include/libxml/xmlsave.h: fixing compilation bug with some options
  disabled as well as --with-minimum should fix #134695
Daniel
2004-03-04 15:59:36 +00:00
Daniel Veillard
1a8741c898 commiting the new xmlsave module before the actuall big code change.
* Makefile.am tree.c xmlsave.c include/libxml/xmlsave.h: commiting
  the new xmlsave module before the actuall big code change.
Daniel
2004-03-04 13:40:59 +00:00
Daniel Veillard
06d2524e80 applied a cleanup patch from Peter Breitenlohner removed a doc build
* Makefile.am catalog.c configure.in: applied a cleanup patch
  from Peter Breitenlohner
* tree.c: removed a doc build warning by fixing a param comment
* doc/* : rebuilt the docs
Daniel
2004-02-25 13:01:42 +00:00
Daniel Veillard
cb35f01d94 xmlAttrSerializeTxtContent don't segfault if NULL is passed. adding an old
* tree.c: xmlAttrSerializeTxtContent don't segfault if NULL
  is passed.
* test/att7 result//att7*: adding an old regression test
  laying around on my laptop
Daniel
2004-02-20 08:18:58 +00:00
Daniel Veillard
49138f1933 some clarification in xmlDocDumpMemory() documentation fixed xmllint
* tree.c: some clarification in xmlDocDumpMemory() documentation
* xmllint.c: fixed xmllint --stream --timing to get timings back
Daniel
2004-02-19 12:58:36 +00:00
Daniel Veillard
3671190b54 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
2004-02-11 13:25:26 +00:00
William M. Brack
6f108a1d0b fixed missing output of internal DTD param entities when nothing else
* tree.c: fixed missing output of internal DTD param entities when
  nothing else present in DTD (bug 134052)
2004-02-11 00:14:52 +00:00
William M. Brack
a9c612c3ee moved serialization of attribute text data (xmlSerializeContent) into a
* tree.c, include/libxml/tree.h: moved serialization of
  attribute text data (xmlSerializeContent) into a separate
  routine (xmlSerializeTxtContent) so it can be used by xmlwriter.c
* xmlwriter.c: changed handling of attribute string to use the
  routine above (fixed bug 131548)
2004-02-01 10:04:05 +00:00
William M. Brack
7762bb1537 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.
2004-01-04 14:49:01 +00:00
William M. Brack
84d83e3464 inhibited production of "(null):" in xmlGetNodePath when node has default
* tree.c: inhibited production of "(null):" in xmlGetNodePath
  when node has default namespace (Bug 129710)
2003-12-23 03:45:17 +00:00
MST 2003 John Fleck
e1f70496c8 tree.c - add explanation of namespace inheritance when ns is NULL to
Sat Dec 20 16:42:07 MST 2003 John Fleck <jfleck@inkstain.net>

	* tree.c - add explanation of namespace inheritance when
	ns is NULL to xmlNewChild and xmlNewTextChild API doc
2003-12-20 23:43:28 +00:00
MST 2003 John Fleck
a0e7e93464 tree.c fix misc. typos in doc comments include/libxml/tree.h elaborate on
Thu Dec 18 20:10:34 MST 2003 John Fleck <jfleck@inkstain.net>

	* tree.c fix misc. typos in doc comments
	* include/libxml/tree.h elaborate on macro define doc
2003-12-19 03:13:47 +00:00
MST 2003 John Fleck
8b03bc569a tree.c doc/* Elaborate in documentation discussion of xmlNewChild and
Tue Dec 16 20:40:40 MST 2003 John Fleck <jfleck@inkstain.net>

	* tree.c
	* doc/*
	Elaborate in documentation discussion of xmlNewChild
	and xmlNewTextChild. Thanks to Steve Lenti for pointing
	out the usefulness of a more explicit explanation of the
	reserved character escaping issue.
2003-12-17 03:45:01 +00:00
Daniel Veillard
2f6ff81a4a tentative fix for #126117 character reference in attributes output problem
* tree.c: tentative fix for #126117 character reference in
  attributes output problem in some cornercase.
Daniel
2003-12-08 12:11:14 +00:00
William M. Brack
d7cf7f8dc9 minor changes to some comments rebuilt the generated HTML pages for
* tree.c: minor changes to some comments
* doc/*.html: rebuilt the generated HTML pages for changes
  from jfleck (bug 126945)
2003-11-14 07:13:16 +00:00
Daniel Veillard
254b12607d second BeOS patch from Marcin 'Shard' Konicki Daniel
* tree.c nanohttp.c threads.c: second BeOS patch from
  Marcin 'Shard' Konicki
Daniel
2003-11-01 17:04:58 +00:00
Daniel Veillard
e22dd5ce8c applied a couple of patches from Mark Lilback about text nodes coalescing
* tree.c: applied a couple of patches from Mark Lilback about text
  nodes coalescing
Daniel
2003-10-29 12:53:27 +00:00
Daniel Veillard
f4e5629809 applied patch from Kasimier Buchcik which fixes a problem in xmlSearchNs
* tree.c: applied patch from Kasimier Buchcik which fixes a
  problem in xmlSearchNs introduced in 2.6.0
Damniel
2003-10-28 14:27:41 +00:00
Daniel Veillard
cec50a6aff fix bug #125047 about serializing when finding a document fragment node.
* tree.c: fix bug #125047 about serializing when finding a
  document fragment node.
Daniel
2003-10-28 13:26:51 +00:00
Daniel Veillard
2189b59b10 last minute patch from Eric Zurcher making it into 2.6.0 Daniel
* tree.c: last minute patch from Eric Zurcher making it into 2.6.0
Daniel
2003-10-21 00:08:42 +00:00
Daniel Veillard
3e35f8e658 preparing libxml2-2.6.0 updated and regenerated the docs and API moved the
* configure.in NEWS doc/libxml2.xsa: preparing libxml2-2.6.0
* doc/*: updated and regenerated the docs and API
* SAX2.c error.c tree.c: moved the line number to their proper
  field in elements now.
Daniel
2003-10-21 00:05:38 +00:00
Daniel Veillard
c469692e5d cleanup xmlNodeGetContent() reusing xmlNodeBufGetContent(), tested it
* tree.c: cleanup xmlNodeGetContent() reusing xmlNodeBufGetContent(),
  tested it through the xslt regression suite.
Daniel
2003-10-19 21:47:14 +00:00
Daniel Veillard
7869729c8e adding xmlNodeBufGetContent() allowing to grab the content without forcing
* tree.c include/libxml/tree.h: adding xmlNodeBufGetContent()
  allowing to grab the content without forcing allocations.
* python/libxml2class.txt doc/libxml2-api.xml: rebuilt the API
* xpath.c xmldwalk.c: removed a couple of comment errors.
Daniel
2003-10-19 20:44:43 +00:00
William M. Brack
9ca682f527 fixed segfault when input file not present changed output formatting of
* xmlIO.c: fixed segfault when input file not present
* tree.c: changed output formatting of XML_CDATA_SECTION
  (bug 120917)
2003-10-19 10:01:59 +00:00
William M. Brack
76e95df055 Changed all (?) occurences where validation macros (IS_xxx) had
* include/libxml/parserInternals.h HTMLparser.c HTMLtree.c
  SAX2.c catalog.c debugXML.c entities.c parser.c relaxng.c
  testSAX.c tree.c valid.c xmlschemas.c xmlschemastypes.c
  xpath.c: Changed all (?) occurences where validation macros
  (IS_xxx) had single-byte arguments to use IS_xxx_CH instead
  (e.g. IS_BLANK changed to IS_BLANK_CH).  This gets rid of
  many warning messages on certain platforms, and also high-
  lights places in the library which may need to be enhanced
  for proper UTF8 handling.
2003-10-18 16:20:14 +00:00
William M. Brack
871611bb03 enhanced macros to avoid breaking ABI from previous versions. modified to
* genChRanges.py, chvalid.c, include/libxml/chvalid.h,
  include/libxml/parserInternals.h: enhanced macros to avoid
  breaking ABI from previous versions.
* catalog.c, parser.c, tree.c: modified to use IS_* macros
  defined in parserInternals.h.  Makes maintenance much easier.
* testHTML.c, testSAX.c, python/libxml.c: minor fixes to avoid
  compilation warnings
* configuration.in: fixed pushHTML test error; enhanced for
  better devel (me) testing
2003-10-18 04:53:14 +00:00
Daniel Veillard
e2238d5617 converted too small cleanup Daniel
* HTMLtree.c include/libxml/xmlerror.h: converted too
* tree.c: small cleanup
Daniel
2003-10-09 13:14:55 +00:00
Daniel Veillard
828ce83d4c more cleanup through the I/O error path Daniel
* error.c tree.c xmlIO.c xmllint.c: more cleanup through the
  I/O error path
Daniel
2003-10-08 19:19:10 +00:00
Daniel Veillard
18ec16e763 converting the tree module too created a simpler internal error reporting
* tree.c: converting the tree module too
* error.c include/libxml/xmlerror.h: created a simpler internal
  error reporting function.
Daniel
2003-10-07 23:16:40 +00:00
Daniel Veillard
652327a727 Adding a configure option to remove tree manipulation code which is not
* configure.in entities.c tree.c valid.c xmllint.c
  include/libxml/tree.h include/libxml/xmlversion.h.in:
  Adding a configure option to remove tree manipulation
  code which is not strictly needed by the parser.
Daniel
2003-09-29 18:02:38 +00:00
Daniel Veillard
a9cce9cd0d Okay this is scary but it is just adding a configure option to disable
* HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c
  encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c
  testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c
  testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c
  xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c
  example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h
  include/libxml/catalog.h include/libxml/debugXML.h
  include/libxml/entities.h include/libxml/nanohttp.h
  include/libxml/relaxng.h include/libxml/tree.h
  include/libxml/valid.h include/libxml/xmlIO.h
  include/libxml/xmlschemas.h include/libxml/xmlversion.h.in
  include/libxml/xpathInternals.h python/libxml.c:
  Okay this is scary but it is just adding a configure option
  to disable output, this touches most of the files.
Daniel
2003-09-29 13:20:24 +00:00
Daniel Veillard
4432df239b cleanup, creating a new legacy.c module, made sure make tests ran in
* Makefile.am: cleanup, creating a new legacy.c module,
  made sure make tests ran in reduced conditions
* SAX.c SAX2.c configure.in entities.c globals.c parser.c
  parserInternals.c tree.c valid.c xlink.c xmlIO.c xmlcatalog.c
  xmlmemory.c xpath.c xmlmemory.c include/libxml/xmlversion.h.in:
  increased the modularization, allow to configure out
  validation code and legacy code, added a configuration
  option --with-minimum compiling only the mandatory code
  which then shrink to 200KB.
Daniel
2003-09-28 18:58:27 +00:00
Daniel Veillard
9475a352bd 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
2003-09-26 12:47:50 +00:00
Daniel Veillard
e96a2a4bf0 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
2003-09-24 21:23:56 +00:00
Daniel Veillard
16fa96c5d0 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
2003-09-23 21:50:54 +00:00
Daniel Veillard
f85ce8e334 the uri arg to xmlNodeSetBase is really a const xmlChar* addin the
* tree.c include/libxml/tree.h: the uri arg to xmlNodeSetBase is
  really a const xmlChar*
* xmlreader.c include/libxml/xmlreader.h: addin the
  xmlTextReaderConstString() to get an interned string from
  the reader
Daniel
2003-09-22 10:24:45 +00:00
Daniel Veillard
e72c508cd0 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
2003-09-19 12:44:05 +00:00
Daniel Veillard
5335055ef6 add streaming on memory regression tests, found bad bugs in the reader
* Makefile.am: add streaming on memory regression tests, found
  bad bugs in the reader interface
* xmlreader.c: fixing bugs w.r.t. very large names, and special
  condition in end of file.
* xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h:
  adding immutable buffers, and parser input based on those,
  but this should not be used (yet) for general parsing
* parser.c: added a comment about using immutable buffers for
  general parsing.
* result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the
  output of the regression tests
* xmllint.c: using the immutable buffers when streaming on
  mmaped file (--stream --memory)
Daniel
2003-09-18 13:35:51 +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
2a3fea37e1 applied speedup to xmlSearchNs() as suggested by Luca Padovani. Cleaned up
* tree.c: applied speedup to xmlSearchNs() as suggested by
  Luca Padovani. Cleaned up xmlSearchNsByHref() in the process
  applying the same trick.
Daniel
2003-09-12 09:44:56 +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
07cb8226c0 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:51:05 +00:00
Daniel Veillard
e5984080ea fixes a small bug introduced in last commit and detected by valgrind.
* tree.c: fixes a small bug introduced in last commit and detected
  by valgrind.
Daniel
2003-08-19 22:21:13 +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