completely different fix for the recursion detection based on entity

* parser.c include/libxml/parser.h: completely different fix for
  the recursion detection based on entity density, big cleanups
  in the entity parsing code too
* result/*.sax*: the parser should not ask for used defined versions
  of the predefined entities
* testrecurse.c: automatic test for entity recursion checks
* Makefile.am: added testrecurse
* test/recurse/lol* test/recurse/good*: a first set of tests for
  the recursion
Daniel

svn path=/trunk/; revision=3783
43 files changed
tree: 94453bdcdfaedf9e12ddd3a98e8ff37f847242b9
  1. bakefile/
  2. doc/
  3. example/
  4. include/
  5. macos/
  6. optim/
  7. python/
  8. result/
  9. test/
  10. vms/
  11. VxWorks/
  12. win32/
  13. xstc/
  14. .cvsignore
  15. acconfig.h
  16. acinclude.m4
  17. AUTHORS
  18. autogen.sh
  19. build_glob.py
  20. c14n.c
  21. catalog.c
  22. ChangeLog
  23. check-relaxng-test-suite.py
  24. check-relaxng-test-suite2.py
  25. check-xinclude-test-suite.py
  26. check-xml-test-suite.py
  27. check-xsddata-test-suite.py
  28. chvalid.c
  29. chvalid.def
  30. config.h.in
  31. configure.in
  32. Copyright
  33. dbgen.pl
  34. dbgenattr.pl
  35. debugXML.c
  36. dict.c
  37. DOCBparser.c
  38. elfgcchack.h
  39. encoding.c
  40. entities.c
  41. error.c
  42. genChRanges.py
  43. gentest.py
  44. genUnicode.py
  45. global.data
  46. globals.c
  47. HACKING
  48. hash.c
  49. HTMLparser.c
  50. HTMLtree.c
  51. INSTALL
  52. install-sh
  53. legacy.c
  54. libxml-2.0-uninstalled.pc.in
  55. libxml-2.0.pc.in
  56. libxml.3
  57. libxml.h
  58. libxml.m4
  59. libxml.spec.in
  60. list.c
  61. MAINTAINERS
  62. Makefile.am
  63. Makefile.tests
  64. Makefile.win
  65. missing
  66. mkinstalldirs
  67. nanoftp.c
  68. nanohttp.c
  69. NEWS
  70. parser.c
  71. parserInternals.c
  72. pattern.c
  73. README
  74. README.cvs-commits
  75. README.tests
  76. regressions.py
  77. regressions.xml
  78. relaxng.c
  79. rngparser.c
  80. runsuite.c
  81. runtest.c
  82. runxmlconf.c
  83. SAX.c
  84. SAX2.c
  85. schematron.c
  86. testapi.c
  87. testAutomata.c
  88. testC14N.c
  89. testchar.c
  90. testdict.c
  91. testdso.c
  92. testHTML.c
  93. testModule.c
  94. testOOM.c
  95. testOOMlib.c
  96. testOOMlib.h
  97. testReader.c
  98. testrecurse.c
  99. testRegexp.c
  100. testRelax.c
  101. testSAX.c
  102. testSchemas.c
  103. testThreads.c
  104. testThreadsWin32.c
  105. testURI.c
  106. testXPath.c
  107. threads.c
  108. TODO
  109. TODO_SCHEMAS
  110. tree.c
  111. trio.c
  112. trio.h
  113. triodef.h
  114. trionan.c
  115. trionan.h
  116. triop.h
  117. triostr.c
  118. triostr.h
  119. uri.c
  120. valid.c
  121. xinclude.c
  122. xlink.c
  123. xml2-config.1
  124. xml2-config.in
  125. xml2Conf.sh.in
  126. xmlcatalog.c
  127. xmlIO.c
  128. xmllint.c
  129. xmlmemory.c
  130. xmlmodule.c
  131. xmlreader.c
  132. xmlregexp.c
  133. xmlsave.c
  134. xmlschemas.c
  135. xmlschemastypes.c
  136. xmlstring.c
  137. xmlunicode.c
  138. xmlwriter.c
  139. xpath.c
  140. xpointer.c