make a new kind of buffer where shrinking and adding in head can avoid

* include/libxml/tree.h tree.c: make a new kind of buffer where
  shrinking and adding in head can avoid reallocation or full
  buffer memmoves
* encoding.c xmlIO.c: use the new kind of buffers for output
  buffers
Daniel

svn path=/trunk/; revision=3787
5 files changed
tree: b361e8c1cd3041aa451552f65555d43ab6f14d99
  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