diff --git a/ChangeLog b/ChangeLog
index a41aa274..eae724f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Apr 12 23:02:16 CEST 2002 Daniel Veillard
+
+ * include/libxml/xmlIO.h: Hallski complained it could not be
+ included by itself.
+
Thu Apr 11 10:23:36 CEST 2002 Daniel Veillard
* configure.in: applied an IEEE flag patch for OSF/1 #77825
diff --git a/configure.in b/configure.in
index d88602ce..34044014 100644
--- a/configure.in
+++ b/configure.in
@@ -205,8 +205,13 @@ if test "$with_python" != "no" ; then
then
echo Found python in $with_python/bin/python
PYTHON="$with_python/bin/python"
- else
- AC_PATH_PROG(PYTHON, python python2.2 python2.1 python2.0 python1.6 python1.5)
+ if test -x "$with_python"
+ then
+ echo Found python in $with_python/bin/python
+ PYTHON="$with_python/bin/python"
+ else
+ AC_PATH_PROG(PYTHON, python python2.2 python2.1 python2.0 python1.6 python1.5)
+ fi
fi
if test "$PYTHON" != ""
then
diff --git a/doc/example.html b/doc/example.html
index 21f2249d..e98bc9bf 100644
--- a/doc/example.html
+++ b/doc/example.html
@@ -147,7 +147,7 @@ base:
</gjob:Jobs>
</gjob:Helping>
While loading the XML file into an internal DOM tree is a matter of
-calling only a couple of functions, browsing the tree to gather the data and
+calling only a couple of functions, browsing the tree to gather the ata and
generate the internal structures is harder, and more error prone.
The suggested principle is to be tolerant with respect to the input
structure. For example, the ordering of the attributes is not significant,
diff --git a/doc/python.html b/doc/python.html
index d0b9fa79..2bfe0803 100644
--- a/doc/python.html
+++ b/doc/python.html
@@ -112,7 +112,7 @@ or libxslt wrappers or bindings:
Petr Kozelka provides Pascal units to glue
libxml2 with Kylix, Delphi and other Pascal compilers
Uwe Fechner also provides idom2, a DOM2
- implementation for Kylix2/D5/D6 from Borland
+ implementation for Kylix2/D5/D6 from Borland
Wai-Sun "Squidster" Chia provides bindings for Ruby and
libxml2 bindings are also available in Ruby through the libgdome-ruby module
maintained by Tobias Peters.
diff --git a/doc/xmlio.html b/doc/xmlio.html
index e16b7836..6151f2d5 100644
--- a/doc/xmlio.html
+++ b/doc/xmlio.html
@@ -226,6 +226,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
+
}
And then use it to save the document:
diff --git a/doc/xmlmem.html b/doc/xmlmem.html
index 498972eb..2ba39932 100644
--- a/doc/xmlmem.html
+++ b/doc/xmlmem.html
@@ -168,7 +168,11 @@ but not always. Assuming the allocation problem is reproductible, it is
possible to find more easilly:
- write down the block number xxxx not allocated
-- export the environement variable XML_MEM_BREAKPOINT=xxxx
+- export the environement variable XML_MEM_BREAKPOINT=xxxx , the easiest
+ when using GDB is to simply give the command
+
set environment XML_MEM_BREAKPOINT xxxx
+before running the program.
+
- run the program under a debugger and set a breakpoint on
xmlMallocBreakpoint() a specific function called when this precise block
is allocated
@@ -178,7 +182,10 @@ possible to find more easilly:
I used to use a commercial tool to debug libxml memory problems but after
noticing that it was not detecting memory leaks that simple mechanism was
-used and proved extremely efficient until now.
+used and proved extremely efficient until now. Lately I have also used valgrind with quite some
+success, it is tied to the i386 architecture since it works by emulating the
+processor and instruction set, it is slow but extremely efficient, i.e. it
+spot memory usage errors in a very precise way.
How much libxml memory require ? It's hard to tell in average it depends
of a number of things:
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index ee47b8ab..a633c5c9 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -17,9 +17,6 @@
#else
#include
#endif
-#include
-#include
-#include
#ifdef __cplusplus
extern "C" {
@@ -70,18 +67,6 @@ typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
*/
typedef int (*xmlInputCloseCallback) (void * context);
-struct _xmlParserInputBuffer {
- void* context;
- xmlInputReadCallback readcallback;
- xmlInputCloseCallback closecallback;
-
- xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
-
- xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
- xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
-};
-
-
/*
* Those are the functions and datatypes for the library output
* I/O structures.
@@ -128,6 +113,30 @@ typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
*/
typedef int (*xmlOutputCloseCallback) (void * context);
+#ifdef __cplusplus
+}
+#endif
+
+#include
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct _xmlParserInputBuffer {
+ void* context;
+ xmlInputReadCallback readcallback;
+ xmlInputCloseCallback closecallback;
+
+ xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
+
+ xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
+ xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
+};
+
+
struct _xmlOutputBuffer {
void* context;
xmlOutputWriteCallback writecallback;