1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-12 16:58:16 +03:00

196 Commits

Author SHA1 Message Date
Daniel Veillard
36d73403ff Applied the last patch from Gary Coady for #304637 changing the behaviour
* HTMLparser.c: Applied the last patch from Gary Coady for #304637
  changing the behaviour when text nodes are found in body
* result/HTML/*: this changes the output of some tests
Daniel
2005-09-01 09:52:30 +00:00
Daniel Veillard
8874b94cd2 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
2005-08-25 13:19:21 +00:00
Daniel Veillard
ea4b0baef2 added a recovery mode for the HTML parser based on the suggestions of bug
* HTMLparser.c include/libxml/HTMLparser.h: added a recovery mode
  for the HTML parser based on the suggestions of bug #169834 by
  Paul Loberg
Daniel
2005-08-23 16:06:08 +00:00
Daniel Veillard
d2755a8134 fixed an uninitialized memory access spotted by valgrind Daniel
* HTMLparser.c: fixed an uninitialized memory access spotted by
  valgrind
Daniel
2005-08-07 23:42:39 +00:00
Daniel Veillard
24505b0f5c a lot of small cleanups based on Linus' sparse check output. Daniel
* HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c
  runsuite.c runtest.c schematron.c testHTML.c testReader.c
  testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c
  xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of
  small cleanups based on Linus' sparse check output.
Daniel
2005-07-28 23:49:35 +00:00
Daniel Veillard
7d2b323ed6 fixed a potential buffer overrun error introduced on last commit to
* HTMLparser.c: fixed a potential buffer overrun error introduced
  on last commit to htmlParseScript() c.f. #310229
Daniel
2005-07-14 08:57:39 +00:00
Daniel Veillard
358fef4b1e applied UTF-8 script parsing bug #310229 fix from Jiri Netolicky added the
* HTMLparser.c: applied UTF-8 script parsing bug #310229 fix from
  Jiri Netolicky
* result/HTML/script2.html* test/HTML/script2.html: added the test
  case from the regression suite
Daniel
2005-07-13 16:37:38 +00:00
Daniel Veillard
597f1c1f34 applied patch from James Bursa fixing an html parsing bug in push mode
* HTMLparser.c: applied patch from James Bursa fixing an html parsing
  bug in push mode
* result/HTML/repeat.html* test/HTML/repeat.html: added the test to the
  regression suite
Daniel
2005-07-03 23:00:18 +00:00
Daniel Veillard
5d4644ef6e 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
2005-04-01 13:11:58 +00:00
William M. Brack
21e4ef20f6 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
2005-01-02 09:53:13 +00:00
Daniel Veillard
29614c7040 make sure xmlCtxtReadFile and htmlCtxtReadFile go through the catalog
* HTMLparser.c parser.c: make sure xmlCtxtReadFile and htmlCtxtReadFile
  go through the catalog resolution.
* gentest.py testapi.c: fix a side effect wrning of the change
Daniel
2004-11-26 10:47:26 +00:00
Daniel Veillard
a521d28751 better handling of conditional features more testing on parser contexts
* gentest.py testapi.c: better handling of conditional features
* HTMLparser.c SAX2.c parserInternals.c xmlwriter.c: more testing
  on parser contexts closed leaks, error messages
Daniel
2004-11-09 14:59:59 +00:00
Daniel Veillard
4259532303 more types, more coverage more problems fixed Daniel
* gentest.py testapi.c: more types, more coverage
* parser.c parserInternals.c relaxng.c valid.c xmlIO.c
  xmlschemastypes.c: more problems fixed
Daniel
2004-11-08 10:52:06 +00:00
Daniel Veillard
ce682bc24b autogenerate a minimal NULL value sequence for unknown pointer types This
* gentest.py testapi.c: autogenerate a minimal NULL value sequence
  for unknown pointer types
* HTMLparser.c SAX2.c chvalid.c encoding.c entities.c parser.c
  parserInternals.c relaxng.c valid.c xmlIO.c xmlreader.c
  xmlsave.c xmlschemas.c xmlschemastypes.c xmlstring.c xpath.c
  xpointer.c: This uncovered an impressive amount of entry points
  not checking for NULL pointers when they ought to, closing all
  the open gaps.
Daniel
2004-11-05 17:22:25 +00:00
Daniel Veillard
a03e36566b more developments on the API testing more cleanups rebuilt Daniel
* gentest.py testapi.c: more developments on the API testing
* HTMLparser.c tree.c: more cleanups
* doc/*: rebuilt
Daniel
2004-11-02 18:45:30 +00:00
Daniel Veillard
eff45a92da register xmlSchemaSetValidErrors, patch from Brent Hendricks in the
* python/libxml.c: register xmlSchemaSetValidErrors, patch from
  Brent Hendricks in the mailing-list
* include/libxml/valid.h HTMLparser.c SAX2.c valid.c
  parserInternals.c: fix #156626 and more generally how to find out
  if a validation contect is part of a parsing context or not. This
  can probably be improved to make 100% sure that vctxt->userData
  is the parser context too. It's a bit hairy because we can't
  change the xmlValidCtxt structure without breaking the ABI since
  this change xmlParserCtxt information indexes.
Daniel
2004-10-29 12:10:55 +00:00
Daniel Veillard
fc484dd0a0 added support for HTML PIs #156087 added specific tests Daniel
* HTMLparser.c: added support for HTML PIs #156087
* test/HTML/python.html result/HTML/python.html*: added specific tests
Daniel
2004-10-22 14:34:23 +00:00
William M. Brack
d1757abcb8 added two new macros IS_ASCII_LETTER and IS_ASCII_DIGIT used with (html)
* include/libxml/parserInternals.h: added two new macros
  IS_ASCII_LETTER and IS_ASCII_DIGIT used with (html)
  parsing and xpath for testing data not necessarily
  unicode.
* HTMLparser.c, xpath.c: changed use of IS_LETTER_CH and
  IS_DIGIT_CH macros to ascii versions (bug 153936).
2004-10-02 22:07:48 +00:00
Daniel Veillard
079f6a7559 more memory related code cleanups. Daniel
* HTMLparser.c parser.c relaxng.c xmlschemas.c: more memory related
  code cleanups.
Daniel
2004-09-23 13:15:03 +00:00
Daniel Veillard
7a5e0dd1fc removed some extern before function code reported by Kjartan Maraas on IRC
* parser.c: removed some extern before function code reported by
  Kjartan Maraas on IRC
* legacy.c: fixed compiling when configuring out the HTML parser
* Makefile.am: added a declaration for CVS_EXTRA_DIST
* HTMLparser.c: beginning of an attempt at cleaning up the construction
  of the HTML parser data structures, current data generate a huge
  amount of ELF relocations at loading time.
Daniel
2004-09-17 08:45:25 +00:00
William M. Brack
d43cdcd6a2 fixed initialisation problem for htmlReadMemory (bug 149041)
* HTMLparser.c: fixed initialisation problem for htmlReadMemory
  (bug 149041)
2004-08-03 15:13:29 +00:00
Daniel Veillard
7cc235722c 1 line patch, apparently htmlNewDoc() was not setting doc->charset. Daniel
* HTMLparser.c: 1 line patch, apparently htmlNewDoc() was not
  setting doc->charset.
Daniel
2004-07-29 11:20:30 +00:00
Daniel Veillard
18a65095e0 fix to the fix for #141864 from Paul Elseth apply fix from David Gatwood
* xmlIO.c: fix to the fix for #141864 from Paul Elseth
* HTMLparser.c result/HTML/doc3.htm: apply fix from David Gatwood for
  #141195 about text between comments.
Daniel
2004-05-11 15:57:42 +00:00
Daniel Veillard
25d5d9ac65 applied patch from James Bursa, frameset should close head. Daniel
* HTMLparser.c: applied patch from James Bursa, frameset should
  close head.
Daniel
2004-04-05 07:08:42 +00:00
Daniel Veillard
500a1de533 applied patch from Alfred Mickautsch for better DTD support. fixed bug
* xmlwriter.c include/libxml/xmlwriter.h doc/* : applied patch from
  Alfred Mickautsch for better DTD support.
* SAX2.c HTMLparser.c parser.c xinclude.c xmllint.c xmlreader.c
  xmlschemas.c: fixed bug #137867 i.e. fixed properly the way
  reference counting is handled in the XML parser which had the
  side effect of removing a lot of hazardous cruft added to try
  to fix the problems associated as they popped up.
* xmlIO.c: FILE * close fixup for stderr/stdout
Daniel
2004-03-22 15:22:58 +00:00
Daniel Veillard
d3669b2fd1 avoid ID error message if using HTML_PARSE_NOERROR should fix #130762
* valid.c HTMLparser.c: avoid ID error message if using
  HTML_PARSE_NOERROR should fix #130762
Daniel
2004-02-25 12:34:55 +00:00
William M. Brack
edb65a7ad0 added initialisation for ctxt->vctxt in HTMLInitParser (bug 133127) minor
* HTMLparser.c: added initialisation for ctxt->vctxt
  in HTMLInitParser (bug 133127)
* valid.c: minor cosmetic change (removed ATTRIBUTE_UNUSED
  from several function params)
2004-02-06 07:36:04 +00:00
Daniel Veillard
87247e8740 applied patch from Mark Vadoc to not use SAX1 unless necessary. Daniel
* HTMLparser.c relaxng.c testRelax.c testSchemas.c: applied
  patch from Mark Vadoc to not use SAX1 unless necessary.
Daniel
2004-01-13 20:42:02 +00:00
Daniel Veillard
c59d826ef9 applied two parsing fixes from James Bursa Daniel
* HTMLparser.c: applied two parsing fixes from James Bursa
Daniel
2003-11-20 21:59:12 +00:00
Daniel Veillard
157fee019d previous fix for #124044 was broken, correct fix provided. fix
* python/libxml.c: previous fix for #124044 was broken, correct
  fix provided.
* HTMLparser.c parser.c parserInternals.c xmlIO.c: fix xmlStopParser()
  and the error handlers to address #125877
Daniel
2003-10-31 10:36:03 +00:00
Daniel Veillard
652f9aa966 Fix #124907 by simply backporting the same fix as for the XML parser
* HTMLparser.c: Fix #124907 by simply backporting the same
  fix as for the XML parser
* result/HTML/doc3.htm.err: change to ID detecting modified one
  test result.
Daniel
2003-10-28 22:04:45 +00:00
Daniel Veillard
05bcb7ed30 fixed to not send NULL to %s printing cleaning up some of the regression
* HTMLparser.c: fixed to not send NULL to %s printing
* python/tests/error.py result/HTML/doc3.htm.err
  result/HTML/test3.html.err result/HTML/wired.html.err
  result/valid/t8.xml.err result/valid/t8a.xml.err: cleaning
  up some of the regression tests error
Daniel
2003-10-19 14:26:34 +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
Daniel Veillard
659e71ec24 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
2003-10-10 14:10:40 +00:00
Daniel Veillard
f403d298c3 more code cleanup, especially around error messages, the HTML parser has
* HTMLparser.c Makefile.am legacy.c parser.c parserInternals.c
  include/libxml/xmlerror.h: more code cleanup, especially around
  error messages, the HTML parser has now been upgraded to the new
  handling.
* result/HTML/*: a few changes in the resulting error messages
Daniel
2003-10-05 13:51:35 +00:00
Daniel Veillard
73b013fc17 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
2003-09-30 12:36:01 +00:00
William M. Brack
899e64aa2f minor change to avoid compilation warnings on some (e.g. AIX) systems
* HTMLparser.c, entities.c, xmlreader.c: minor change to
  avoid compilation warnings on some (e.g. AIX) systems
2003-09-26 18:03:42 +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
092643b52d preparing a beta3 solving the ABI problems make sure the global variables
* configure.in: preparing a beta3 solving the ABI problems
* globals.c parser.c parserInternals.c testHTML.c HTMLparser.c SAX.c
  include/libxml/globals.h include/libxml/SAX.h: make sure the
  global variables for the default SAX handler are V1 ones to
  avoid ABI compat problems.
* xmlreader.c: cleanup of uneeded code
* hash.c: fix a comment
Daniel
2003-09-25 14:29:29 +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
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
e8ed62033c allocation error #119784 raised by Oliver Stoeneberg Daniel
* HTMLparser.c: allocation error #119784 raised by Oliver Stoeneberg
Daniel
2003-08-14 23:39:01 +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
14f752c2b7 fixed a nasty bug #119387, bad heuristic from the progressive HTML parser
* HTMLparser.c: fixed a nasty bug #119387, bad heuristic from
  the progressive HTML parser front-end on large character data
  island leading to an erroneous end of data detection by the
  parser. Some cleanup too to get closer from the XML progressive
  parser.
Daniel
2003-08-09 11:44:50 +00:00
William M. Brack
c193956ee1 small changes to syntax to get rid of compiler warnings. No changes to
* error.c HTMLparser.c testC14N.c testHTML.c testURI.c
  xmlcatalog.c xmlmemory.c xmlreader.c xmlschemastypes.c
  python/libxml.c include/libxml/xmlmemory.h: small changes
  to syntax to get rid of compiler warnings.  No changes
  to logic.
2003-08-05 15:52:22 +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
97e018861b applied a patch from William Brack about the problem of parsing very large
* HTMLparser.c: applied a patch from William Brack about
  the problem of parsing very large HTML instance with comments
  as raised by Nick Kew
Daniel
2003-07-30 18:59:19 +00:00
William M. Brack
4a557d97bf fixed problem with comments reported by Nick Kew added routines
* HTMLparser.c: fixed problem with comments reported by Nick Kew
* encoding.c: added routines xmlUTF8Size and xmlUTF8Charcmp for
  some future cleanup of UTF8 handling
2003-07-29 04:28:04 +00:00