1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-13 09:01:53 +03:00
Commit Graph

239 Commits

Author SHA1 Message Date
76d66f416d - xpath.c tree.c parser.c: speed optimizations at the parser level
document tree freeing and xpath evaluation
Daniel
2001-05-16 21:05:17 +00:00
fd7ddca8b2 - parser.c parser.h parserInternals.h: fixed a couple of
interfaces for handling memory buffer input to const char *
  upon suggestion of JamesH.
Daniel
2001-05-16 10:57:35 +00:00
a737459bc4 - Makefile.am xmlversion.h.in configure.in include/Makefile.am:
integrating catalogs
- catalog.[ch] testCatalog.c: adding a small catalo API
  (only SGML catalog support).
- parser.c: restaured xmlKeepBlanksDefault(0) API
Daniel
2001-05-10 14:17:55 +00:00
257d910769 - parser.c: added xmlParseExternalEntityPrivate() to allow
propagation of ctxt->_private when parsing external entities
Daniel
2001-05-08 10:41:44 +00:00
02141eabb2 - tree.c parser.c encoding.c: spent a bit more time looking
at the parsing speed and DOM handling. Added a few more
  speedups.
Daniel
2001-04-30 11:46:40 +00:00
3ed155fcdf How to bump raw SAX parsing speed from 5.8M/s to 7.4M/s in 4 lines of code:
- parser.c: small but effective parsing speed improvement
Daniel
2001-04-29 19:56:59 +00:00
30211a0eef - parser.c: applied fixes from Christian Glahn bug report #53391
Daniel
2001-04-26 09:33:18 +00:00
70a9da54eb trio upgrade and integration 2001-04-21 16:57:29 +00:00
dab4cb37d8 Geez, this one was painful ! I still need to handle entities references
for the validation step but I have a clean way to add this without touching
the algorithm:
- valid.[ch] tree.h: worked *hard* to get non-determinist content
  validation without using an ugly NFA -> DFA algo in the source.
  Made a specific algorithm easier to maintain, using a single
  stack and without recursion.
- Makefile.am test/VCM/*.xml: added more tests to "make Validtests"
- hash.c: made the growing routine static
- tree.h parser.c: added the parent information to an
  xmlElementContent node.
Daniel
2001-04-20 13:03:48 +00:00
e470df7fdd 3 hours of debug, this was hell:
- SAX.c parser.c xpath.c: generating IDs when not validating
  from an external parsed entity was poisoning the ID has table
  with removed values. This was killing XSLT on the KDE help
  browser.
Daniel
2001-04-18 21:41:07 +00:00
505821145f parser.c: fixed line number reporting on error
Daniel
2001-03-26 22:52:16 +00:00
04be4f51e4 - parser.c: Sullivan and Darin found a parser bug,
applied the patch.
Daniel
2001-03-26 21:23:53 +00:00
56a4cb8c4d 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
2001-03-24 17:00:36 +00:00
146c9120ca - parser.c: fixed a reported bug in NOTATION parsing
- uri.c: accepted but not fixed bug 51876, added TODO
- Makefile.am: fixed bug 51876
Daniel
2001-03-22 15:22:27 +00:00
e020c3a797 A typo and an obscure bug fix:
- parser.c: fixed a function name header typo
- SAX.c: notations can also occur in external subset.
Daniel
2001-03-21 18:06:15 +00:00
0b6b55b076 Someone found a bug hiding in a corner, caught it !
- parser.c: fixing bug 52299 strange condition leading
  to a parser crash due to a buffer overflow
- result/noent/attrib.xml result/attrib.xml test/attrib.xml:
  added the specific test case
Daniel
2001-03-20 11:27:34 +00:00
82ab81e92b - parser.c: and Matt Sergeant found one in the XML push
parser (erroneous check I forgot to remove when I fixed the
  main parser).
Daniel
2001-03-12 21:11:21 +00:00
80f3257163 - parser.c SAX.c: the new content parsing code raised an
ugly bug in the characters() SAX callback. Found it
  just because of strangeness in XSLT XML Rec ouptut :-(
Daniel
2001-03-07 19:45:40 +00:00
29631a8901 10 mn hacking while waiting for doctor appointment:
- parser.c: trying to fix the Dtd parsing problem reported
  by Gary, side effect of last week speed optimizations.
Daniel
2001-03-05 09:49:20 +00:00
2f36224e54 - parser.c: one must report spaces even if the Dtd element
content proves that this is not part of the element content.
- result/valid/*.xml: this changed the ouptu slightly
Daniel
2001-03-02 17:36:21 +00:00
21a0f91852 - parser.c: more work on increasing parsing ferformances
Daniel
2001-02-25 19:54:14 +00:00
48b2f8968e 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
2001-02-25 16:11:03 +00:00
3473f88a7a Revert directory structure changes 2001-02-23 17:55:21 +00:00
64636e7f6e moved to libxml directory - this allow simplify automake/autoconf. Now
Thu Feb 23 02:03:56 CET 2001 Tomasz Koczko <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.
2001-02-23 01:37:32 +00:00
142adbfa3d More bugfixes due to DocBook:
- xpath.c: bug fix when context size is 0
- parser.c: I like Norm's Dtd because they still manage to break
  the parser occasionally
Daniel
2001-02-17 13:21:05 +00:00
e0e265138e - tree.[ch] parser.c xpath.c: fixed the problem of addressing
attributes within the XML-1.0 namespace
Daniel
2001-02-16 00:11:46 +00:00
0f2a53ccbd 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
2001-02-05 17:57:33 +00:00
de55cf62da First libxml head patch from the Gnome community since a looong time :-)
- parser.c: fixed xmlStrcat doc
- tree.c: 2 fixes form Anders Carlson for copying nodes and
  trees.
Daniel
2001-01-31 15:53:13 +00:00
167bd53151 Old but effective optimization patch:
- parser.c parserInternals.c: applied Bjorn Reese optimization patch
Daniel
2001-01-06 21:09:34 +00:00
a6d8eb6256 Finally had a bit of time to resynch both trees:
- HTMLparser.[ch]: added a way to avoid adding automatically
  omitted tags. htmlHandleOmittedElem() allows to change the
  default handling.
- tree.[ch] xmllint.c: added xmlDocDumpFormatMemory() and
  xmlDocDumpFormatMemoryEnc(), uses memory functions for output
  of xmllint too when using --memory flag, added a memory test
  suite at the Makefile level.
- xpathInternals.h xpath.[ch] xpointer.c: fixed problems
  with namespace use when encountering QNames in XPath evalation,
  added xmlns() scheme in XPointer.
- nanoftp.c : incorporated a fix
- parser.c xmlIO.c: fixed problems raised with encoding when using
  the memory I/O
- parserInternals.c: closed bug 25934 reported by
  torsten.landschoff@innominate.de
- TODO: updated
Daniel
2000-12-27 10:46:47 +00:00
ce6e98d693 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
2000-11-25 09:54:49 +00:00
41e065130b 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
2000-11-13 11:47:47 +00:00
c2def84b48 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
2000-11-07 14:21:01 +00:00
a4964b7500 - HTMLparser.c: fixed loop on invalid char in scripts
- parser.c: update to description of xmlIOParseDTD()
- libxml.m4 xmlversion.h.in: changes contributed by
  Michael Schmeing <m.schmeing@internet-factory.de>
- configure.in: preparing for 2.2.7
- Makefile.am: trying to avoid  config.h and acconfig.h
  being included in the distrib
- rebuilt the docs
- configure.in: released 2.2.7
Daniel
2000-10-31 18:23:44 +00:00
2ffc3591c1 - 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
2000-10-30 15:36:47 +00:00
d6d7f7bf96 patched to redirrect all "out of context" error messages to
a reconfigurable routine. The changes are:
* xmlerror.h : added the export of an error context type (void *)
  an error handler type xmlGenericErrorFunc there is an interface
  xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
  to reset the error handling routine and its argument
  (by default it's equivalent to respectively fprintf and stderr.
* all the c files: all wild accesses to stderr or stdout within
  the library have been replaced to calls to the handler.
Daniel
2000-10-25 19:56:55 +00:00
126f27992d Bunch of fixes, finishing moving datastructures to the hash stuff:
- hash.[ch] debugXML.c: expanded/enhanced the API, added
  multikey tuples, made hash structure opaque
- valid.[ch]: moved elements, attributes, notations decalarations
  as well as ID and refs to hash tables.
- entities.c: hash cleanup
- xmlmemory.c: fixed a dump problem in debug mode
- include/Makefile.am: problem passing in DESTDIR= values patch
  from Marc Christensen <marc@calderasystems.com>
- nanohttp.c: removed debugging remains
- HTMLparser.c: the bogus tag should be ignored (Wayne)
- HTMLparser.c parser.c: fixing a number of problems with the
  macros in the *parser.c files (Wayne).
- HTMLparser.c: close the previous option when opening a new one
  (Marc Sanfacon).
- result/HTML/*: updated the HTML results accordingly
Daniel
2000-10-24 17:10:12 +00:00
1e851392fc - parser.c test/wap.xml result/noent/wap.xml result/wap.xml:
Closed bug #27499, added to regression tests
- TODO: updated
Daniel
2000-10-15 10:02:56 +00:00
b71379b796 - moved xml-error.h to xmlerror.h: seems this allowed to bypass
the automake bug where wrong dependancies were generated.
- xpath.[ch]: worked on XPointer
Daniel
2000-10-09 12:30:39 +00:00
aaf58b96f5 Various attemps at trying to bypass this automake bullshit !!! Daniel
Failing too bad no release before next wed I'm seriously pissed, this
bug has been around for more than one year it seems, piece of crap
2000-10-06 14:07:26 +00:00
7e99c63be0 Tried to build libxml2-2.2.5
Automake is a fucking piece of ugly shit full of tricks and without
any kind of sensible documentation or logic :-(((((((((
Daniel, pissed !
2000-10-06 12:59:53 +00:00
7cfce324d8 Bugfix - parser.c xmlIO.c xmlIO.h: fixed bug 26650, and improved the
Bugfix
- parser.c xmlIO.c xmlIO.h: fixed bug 26650, and improved the global
  init function.
Daniel
2000-10-04 12:40:27 +00:00
8b5dd83f46 - 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
2000-10-01 20:28:44 +00:00
bc765307ff Cleanups, 1 bug fix:
- HTMLparser.c: fixed htmlStartCloseIndexinitialized init
- entities.h: exported xmlInitializePredefinedEntities
- parser.[ch] : added xmlInitParser()
- parserInternals.h : had to export htmlInitAutoClose()
Daniel
2000-10-01 18:23:35 +00:00
f09e7e35de XPath fixes and cleanup, 2 general bug fixes:
- xpath.[ch] : fixed some serious XPath Predicate evaluation
  problems
- Makefile.am : added XPath regression tests to normal tests
- uri.c: fixed a problem with local paths, cleanup
- parser.c: fixed a problem with large CData sections
Daniel
2000-10-01 15:53:30 +00:00
4b0755c68b - HTMLparser.c parser.c tree.c tree.h: Avoiding a few warning
when compiling with MSC
Daniel
2000-09-25 14:26:28 +00:00
b656ebe456 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
2000-09-22 13:51:48 +00:00
04698d9e1c New set of cleanups, released 2.2.3:
- SAX.c debugXML.c parser.c parserInternals.c tree.c valid.c xpath.c:
  removed a few warnings in pedantic mode ...
- parserInternals.c parser.c: moved encoding switching function
  to parserInternals.c
- configure.in, doc/Makefile.am libxml.spec.in: released 2.2.3
Daniel
2000-09-17 16:00:22 +00:00
a2c6da94f8 For Havoc: - HTMLparser.c parser.c: set ctxt->errNo before calling the
For Havoc:
- HTMLparser.c parser.c: set ctxt->errNo before calling the error handlers
Daniel
2000-09-16 18:15:00 +00:00
b1059e2f88 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
2000-09-16 14:02:43 +00:00