Fix bug in custom data with whitespace.

Prep for 2.2.2 release.
pull/193/head
Michael R Sweet 20 years ago
parent ce6b845684
commit 63cd5de2a0
  1. 6
      ANNOUNCEMENT
  2. 8
      CHANGES
  3. 4
      README
  4. 365
      configure
  5. 2
      configure.in
  6. 62
      doc/mxml.html
  7. 10
      doc/relnotes.html
  8. 2
      mxml-file.c
  9. 2
      mxml.spec
  10. 6
      www/docfiles/BReleaseNotes.html
  11. 2
      www/docfiles/ChangesinMiniXML09.html
  12. 2
      www/docfiles/ChangesinMiniXML091.html
  13. 2
      www/docfiles/ChangesinMiniXML092.html
  14. 2
      www/docfiles/ChangesinMiniXML093.html
  15. 2
      www/docfiles/ChangesinMiniXML10.html
  16. 2
      www/docfiles/ChangesinMiniXML11.html
  17. 2
      www/docfiles/ChangesinMiniXML111.html
  18. 2
      www/docfiles/ChangesinMiniXML112.html
  19. 2
      www/docfiles/ChangesinMiniXML12.html
  20. 2
      www/docfiles/ChangesinMiniXML13.html
  21. 2
      www/docfiles/ChangesinMiniXML20.html
  22. 2
      www/docfiles/ChangesinMiniXML21.html
  23. 2
      www/docfiles/ChangesinMiniXML22.html
  24. 8
      www/docfiles/ChangesinMiniXML221.html
  25. 40
      www/docfiles/ChangesinMiniXML222.html
  26. 29
      www/docfiles/toc.html
  27. 2
      www/index.php
  28. 62
      www/mxml.html
  29. BIN
      www/mxml.pdf
  30. BIN
      www/mxml.ps.gz

@ -1,7 +1,5 @@
Mini-XML 2.2.1 is now available for download from:
Mini-XML 2.2.2 is now available for download from:
http://www.easysw.com/~mike/mxml/software.php
Mini-XML 2.2.1 fixes some makefile bugs, changes the load
functions to return NULL on error, and updates the node creation
functions to conform to the documentation.
Mini-XML 2.2.2 fixes a bug in the reading of custom data nodes.

@ -1,6 +1,12 @@
CHANGES - 05/17/2005
CHANGES - 05/19/2005
--------------------
CHANGES IN Mini-XML 2.2.2
- mxmlLoad*() did not treat custom data as opaque, so
whitespace characters would be lost.
CHANGES IN Mini-XML 2.2.1
- mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now

@ -1,11 +1,11 @@
README - 05/17/2005
README - 05/19/2005
-------------------
INTRODUCTION
This README file describes the Mini-XML library version
2.2.1.
2.2.2.
Mini-XML is a small XML parsing library that you can use to
read XML and XML-like data files in your application without

365
configure vendored

@ -1,8 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59.
# Generated by GNU Autoconf 2.57.
#
# Copyright (C) 2003 Free Software Foundation, Inc.
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@ -19,10 +20,9 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
@ -41,7 +41,7 @@ for as_var in \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
LC_TELEPHONE LC_TIME
do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
$as_unset $as_var
@ -218,17 +218,16 @@ rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
# IFS
@ -863,45 +862,12 @@ case $srcdir in
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
# Do not use `cd foo && pwd` to compute absolute paths, because
# the directories may not exist.
case `pwd` in
.) ac_abs_builddir="$ac_dir";;
*)
case "$ac_dir" in
.) ac_abs_builddir=`pwd`;;
[\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
*) ac_abs_builddir=`pwd`/"$ac_dir";;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_top_builddir=${ac_top_builddir}.;;
*)
case ${ac_top_builddir}. in
.) ac_abs_top_builddir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
*) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_srcdir=$ac_srcdir;;
*)
case $ac_srcdir in
.) ac_abs_srcdir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
*) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_top_srcdir=$ac_top_srcdir;;
*)
case $ac_top_srcdir in
.) ac_abs_top_srcdir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
*) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
esac;;
esac
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
# absolute.
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
cd $ac_dir
# Check for guested configure; otherwise get Cygnus style configure.
@ -926,7 +892,8 @@ test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
Copyright (C) 2003 Free Software Foundation, Inc.
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@ -938,7 +905,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
generated by GNU Autoconf 2.59. Invocation command line was
generated by GNU Autoconf 2.57. Invocation command line was
$ $0 $@
@ -1114,7 +1081,7 @@ _ASBOX
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core &&
rm -f core core.* *.core &&
rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
@ -1269,7 +1236,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
VERSION=2.2.1
VERSION=2.2.2
cat >>confdefs.h <<_ACEOF
#define MXML_VERSION "Mini-XML v$VERSION"
@ -1664,6 +1631,7 @@ ac_compiler=`set X $ac_compile; echo $2`
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -1683,8 +1651,8 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
echo "$as_me:$LINENO: checking for C compiler default output" >&5
echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
(eval $ac_link_default) 2>&5
@ -1820,6 +1788,7 @@ if test "${ac_cv_objext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -1870,6 +1839,7 @@ if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -1889,20 +1859,10 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -1916,7 +1876,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
@ -1932,6 +1892,7 @@ if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -1948,20 +1909,10 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -1975,7 +1926,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_prog_cc_g=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
@ -2002,6 +1953,7 @@ else
ac_cv_prog_cc_stdc=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -2029,16 +1981,6 @@ static char *f (char * (*g) (char **, int), char **p, ...)
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
as 'x'. The following induces an error, until -std1 is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
that's true only with -std1. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@ -2065,20 +2007,10 @@ do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2092,7 +2024,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f conftest.err conftest.$ac_objext
rm -f conftest.$ac_objext
done
rm -f conftest.$ac_ext conftest.$ac_objext
CC=$ac_save_CC
@ -2120,20 +2052,10 @@ cat >conftest.$ac_ext <<_ACEOF
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2142,6 +2064,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(exit $ac_status); }; }; then
for ac_declaration in \
''\
'#include <stdlib.h>' \
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
@ -2149,13 +2072,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
'void exit (int);'
do
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_declaration
#include <stdlib.h>
$ac_declaration
int
main ()
{
@ -2166,20 +2090,10 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2193,8 +2107,9 @@ sed 's/^/| /' conftest.$ac_ext >&5
continue
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -2211,20 +2126,10 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2237,7 +2142,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
done
rm -f conftest*
if test -n "$ac_declaration"; then
@ -2251,7 +2156,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -2377,6 +2282,7 @@ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -2396,20 +2302,10 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2423,7 +2319,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
@ -2439,6 +2335,7 @@ if test "${ac_cv_prog_cxx_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -2455,20 +2352,10 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2482,7 +2369,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_prog_cxx_g=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
@ -2503,6 +2390,7 @@ else
fi
for ac_declaration in \
''\
'#include <stdlib.h>' \
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
@ -2510,13 +2398,14 @@ for ac_declaration in \
'void exit (int);'
do
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_declaration
#include <stdlib.h>
$ac_declaration
int
main ()
{
@ -2527,20 +2416,10 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2554,8 +2433,9 @@ sed 's/^/| /' conftest.$ac_ext >&5
continue
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@ -2572,20 +2452,10 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
(eval $ac_compile) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -2598,7 +2468,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f conftest.$ac_objext conftest.$ac_ext
done
rm -f conftest*
if test -n "$ac_declaration"; then
@ -2649,7 +2519,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
@ -2666,7 +2535,6 @@ do
case $as_dir/ in
./ | .// | /cC/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
@ -3105,28 +2973,21 @@ if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
For example, HP-UX 11i <limits.h> declares gettimeofday. */
#define $ac_func innocuous_$ac_func
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func (); below.
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
<limits.h> exists even on freestanding compilers. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
#undef $ac_func
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
@ -3157,20 +3018,10 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
(eval $ac_link) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -3184,8 +3035,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@ -3210,28 +3060,21 @@ if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
For example, HP-UX 11i <limits.h> declares gettimeofday. */
#define $ac_func innocuous_$ac_func
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func (); below.
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
<limits.h> exists even on freestanding compilers. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
#undef $ac_func
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
@ -3262,20 +3105,10 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
(eval $ac_link) 2>&5
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
@ -3289,8 +3122,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@ -3611,10 +3443,9 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
@ -3633,7 +3464,7 @@ for as_var in \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
LC_TELEPHONE LC_TIME
do
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
$as_unset $as_var
@ -3812,17 +3643,16 @@ rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
# IFS
@ -3849,7 +3679,7 @@ _ASBOX
cat >&5 <<_CSEOF
This file was extended by $as_me, which was
generated by GNU Autoconf 2.59. Invocation command line was
generated by GNU Autoconf 2.57. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@ -3909,10 +3739,11 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.59,
configured by $0, generated by GNU Autoconf 2.57,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Copyright (C) 2003 Free Software Foundation, Inc.
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
srcdir=$srcdir
@ -4257,45 +4088,12 @@ case $srcdir in
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
# Do not use `cd foo && pwd` to compute absolute paths, because
# the directories may not exist.
case `pwd` in
.) ac_abs_builddir="$ac_dir";;
*)
case "$ac_dir" in
.) ac_abs_builddir=`pwd`;;
[\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
*) ac_abs_builddir=`pwd`/"$ac_dir";;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_top_builddir=${ac_top_builddir}.;;
*)
case ${ac_top_builddir}. in
.) ac_abs_top_builddir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
*) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_srcdir=$ac_srcdir;;
*)
case $ac_srcdir in
.) ac_abs_srcdir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
*) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
esac;;
esac
case $ac_abs_builddir in
.) ac_abs_top_srcdir=$ac_top_srcdir;;
*)
case $ac_top_srcdir in
.) ac_abs_top_srcdir=$ac_abs_builddir;;
[\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
*) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
esac;;
esac
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
# absolute.
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
case $INSTALL in
@ -4330,14 +4128,14 @@ echo "$as_me: creating $ac_file" >&6;}
test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo "$f";;
echo $f;;
*) # Relative
if test -f "$f"; then
# Build tree
echo "$f"
echo $f
elif test -f "$srcdir/$f"; then
# Source tree
echo "$srcdir/$f"
echo $srcdir/$f
else
# /dev/null tree
{ { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
@ -4421,15 +4219,14 @@ echo "$as_me: creating $ac_file" >&6;}
test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
# Do quote $f, to prevent DOS paths from being IFS'd.
echo "$f";;
echo $f;;
*) # Relative
if test -f "$f"; then
# Build tree
echo "$f"
echo $f
elif test -f "$srcdir/$f"; then
# Source tree
echo "$srcdir/$f"
echo $srcdir/$f
else
# /dev/null tree
{ { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5

@ -23,7 +23,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number...
VERSION=2.2.1
VERSION=2.2.2
AC_SUBST(VERSION)
AC_DEFINE_UNQUOTED(MXML_VERSION, "Mini-XML v$VERSION")

@ -83,20 +83,21 @@ Copyright 2003-2005<BR>
</UL>
<B><A HREF="#RELNOTES">B - Release Notes</A></B>
<UL>
<LI><A HREF="#7_1">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="#7_2">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="#7_3">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="#7_4">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="#7_5">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="#7_6">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="#7_7">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="#7_8">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="#7_9">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="#7_10">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="#7_11">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="#7_12">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="#7_13">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="#7_14">Changes in Mini-XML 0.9</A></LI>
<LI><A HREF="#7_1">Changes in Mini-XML 2.2.2</A></LI>
<LI><A HREF="#7_2">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="#7_3">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="#7_4">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="#7_5">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="#7_6">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="#7_7">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="#7_8">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="#7_9">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="#7_10">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="#7_11">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="#7_12">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="#7_13">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="#7_14">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="#7_15">Changes in Mini-XML 0.9</A></LI>
</UL>
<B><A HREF="#REFERENCE">C - Library Reference</A></B>
<UL>
@ -1826,7 +1827,12 @@ Ty Coon, President of Vice
<P>That's all there is to it!</P>
<HR NOSHADE>
<H1 align="right"><A name="RELNOTES">B - Release Notes</A></H1>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.1</A></H2>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.2</A></H2>
<UL>
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
characters would be lost.</LI>
</UL>
<H2><A NAME="7_2">Changes in Mini-XML 2.2.1</A></H2>
<UL>
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly
return NULL on error (STR #21)</LI>
@ -1837,7 +1843,7 @@ Ty Coon, President of Vice
proper permissions on UNIX/Linux/OSX.</LI>
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI>
</UL>
<H2><A NAME="7_2">Changes in Mini-XML 2.2</A></H2>
<H2><A NAME="7_3">Changes in Mini-XML 2.2</A></H2>
<UL>
<LI>Added shared library support (STR #17)</LI>
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal
@ -1851,7 +1857,7 @@ Ty Coon, President of Vice
<LI>Added checking for invalid comment termination (&quot;---&gt;&quot; is not
allowed)</LI>
</UL>
<H2><A NAME="7_3">Changes in Mini-XML 2.1</A></H2>
<H2><A NAME="7_4">Changes in Mini-XML 2.1</A></H2>
<UL>
<LI>Added support for custom data nodes (STR #6)</LI>
<LI>Now treat UTF-8 sequences which are longer than necessary as an
@ -1862,7 +1868,7 @@ Ty Coon, President of Vice
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI>
<LI>Fixed multi-word UTF-16 handling.</LI>
</UL>
<H2><A NAME="7_4">Changes in Mini-XML 2.0</A></H2>
<H2><A NAME="7_5">Changes in Mini-XML 2.0</A></H2>
<UL>
<LI>New programmers manual.</LI>
<LI>Added Visual C++ project files for Microsoft Windows users.</LI>
@ -1895,7 +1901,7 @@ Ty Coon, President of Vice
destination path and install path. This caused problems when building
and installing with MingW.</LI>
</UL>
<H2><A NAME="7_5">Changes in Mini-XML 1.3</A></H2>
<H2><A NAME="7_6">Changes in Mini-XML 1.3</A></H2>
<UL>
<LI>Fixes for mxmldoc.</LI>
<LI>Added support for reading standard HTML entity names.</LI>
@ -1911,7 +1917,7 @@ Ty Coon, President of Vice
<LI>The load and save functions now properly handle quoted element and
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI>
</UL>
<H2><A NAME="7_6">Changes in Mini-XML 1.2</A></H2>
<H2><A NAME="7_7">Changes in Mini-XML 1.2</A></H2>
<UL>
<LI>Added new &quot;set&quot; methods to set the value of a node.</LI>
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf()
@ -1924,13 +1930,13 @@ Ty Coon, President of Vice
<LI>Added --with/without-snprintf configure option to control the
snprintf() and vsnprintf() function checks.</LI>
</UL>
<H2><A NAME="7_7">Changes in Mini-XML 1.1.2</A></H2>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.2</A></H2>
<UL>
<LI>The mxml(3) man page wasn't updated for the string functions.</LI>
<LI>mxmlSaveString() returned the wrong number of characters.</LI>
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI>
</UL>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.1</A></H2>
<H2><A NAME="7_9">Changes in Mini-XML 1.1.1</A></H2>
<UL>
<LI>The private mxml_add_ch() function did not update the
start-of-buffer pointer which could cause a crash when using
@ -1941,7 +1947,7 @@ Ty Coon, President of Vice
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML
node tree to an allocated string.</LI>
</UL>
<H2><A NAME="7_9">Changes in Mini-XML 1.1</A></H2>
<H2><A NAME="7_10">Changes in Mini-XML 1.1</A></H2>
<UL>
<LI>The mxmlLoadFile() function now uses dynamically allocated string
buffers for element names, attribute names, and attribute values.
@ -1953,7 +1959,7 @@ Ty Coon, President of Vice
<LI>Add emulation of strdup() if the local platform does not provide the
function.</LI>
</UL>
<H2><A NAME="7_10">Changes in Mini-XML 1.0</A></H2>
<H2><A NAME="7_11">Changes in Mini-XML 1.0</A></H2>
<UL>
<LI>The mxmldoc program now handles function arguments, structures,
unions, enumerations, classes, and typedefs properly.</LI>
@ -1961,7 +1967,7 @@ Ty Coon, President of Vice
code.</LI>
<LI>Added man pages and packaging files.</LI>
</UL>
<H2><A NAME="7_11">Changes in Mini-XML 0.93</A></H2>
<H2><A NAME="7_12">Changes in Mini-XML 0.93</A></H2>
<UL>
<LI>New mxmldoc example program that is also used to create and update
code documentation using XML and produce HTML reference pages.</LI>
@ -1986,15 +1992,15 @@ Ty Coon, President of Vice
<LI>mxmlSaveFile() now supports a whitespace callback to provide more
human-readable XML output under program control.</LI>
</UL>
<H2><A NAME="7_12">Changes in Mini-XML 0.92</A></H2>
<H2><A NAME="7_13">Changes in Mini-XML 0.92</A></H2>
<UL>
<LI>mxmlSaveFile() didn't return a value on success.</LI>
</UL>
<H2><A NAME="7_13">Changes in Mini-XML 0.91</A></H2>
<H2><A NAME="7_14">Changes in Mini-XML 0.91</A></H2>
<UL>
<LI>mxmlWalkNext() would go into an infinite loop.</LI>
</UL>
<H2><A NAME="7_14">Changes in Mini-XML 0.9</A></H2>
<H2><A NAME="7_15">Changes in Mini-XML 0.9</A></H2>
<UL>
<LI>Initial public release.</LI>
</UL>

@ -3,6 +3,16 @@
<h1 align='right'><a name='RELNOTES'>B - Release Notes</a></h1>
<h2>Changes in Mini-XML 2.2.2</h2>
<ul>
<li>mxmlLoad*() did not treat custom data as opaque, so
whitespace characters would be lost.</li>
</ul>
<h2>Changes in Mini-XML 2.2.1</h2>
<ul>

@ -1786,7 +1786,7 @@ mxml_load_data(mxml_node_t *top, /* I - Top node */
if (mxml_add_char(ch, &bufptr, &buffer, &bufsize))
goto error;
}
else if (type == MXML_OPAQUE || !isspace(ch))
else if (type == MXML_OPAQUE || type == MXML_CUSTOM || !isspace(ch))
{
/*
* Add character to current buffer...

@ -18,7 +18,7 @@
Summary: Miniature XML development library
Name: mxml
Version: 2.2.1
Version: 2.2.2
Release: 1
Copyright: GPL
Group: Development/Libraries

@ -8,7 +8,7 @@
<LINK REL="Start" HREF="index.html">
<LINK REL="Contents" HREF="toc.html">
<LINK REL="Prev" HREF="HowtoApplyTheseTermstoYourNewLibraries.html">
<LINK REL="Next" HREF="ChangesinMiniXML221.html">
<LINK REL="Next" HREF="ChangesinMiniXML222.html">
<STYLE TYPE="text/css"><!--
BODY { font-family: serif }
H1 { font-family: sans-serif }
@ -25,12 +25,12 @@ PRE { font-family: monospace }
<BODY>
<A HREF="toc.html">Contents</A>
<A HREF="HowtoApplyTheseTermstoYourNewLibraries.html">Previous</A>
<A HREF="ChangesinMiniXML221.html">Next</A>
<A HREF="ChangesinMiniXML222.html">Next</A>
<HR NOSHADE>
<H1 align="right"><A name="RELNOTES">B - Release Notes</A></H1>
<HR NOSHADE>
<A HREF="toc.html">Contents</A>
<A HREF="HowtoApplyTheseTermstoYourNewLibraries.html">Previous</A>
<A HREF="ChangesinMiniXML221.html">Next</A>
<A HREF="ChangesinMiniXML222.html">Next</A>
</BODY>
</HTML>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML091.html">Previous</A>
<A HREF="CLibraryReference.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_14">Changes in Mini-XML 0.9</A></H2>
<H2><A NAME="7_15">Changes in Mini-XML 0.9</A></H2>
<UL>
<LI>Initial public release.</LI>
</UL>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML092.html">Previous</A>
<A HREF="ChangesinMiniXML09.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_13">Changes in Mini-XML 0.91</A></H2>
<H2><A NAME="7_14">Changes in Mini-XML 0.91</A></H2>
<UL>
<LI>mxmlWalkNext() would go into an infinite loop.</LI>
</UL>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML093.html">Previous</A>
<A HREF="ChangesinMiniXML091.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_12">Changes in Mini-XML 0.92</A></H2>
<H2><A NAME="7_13">Changes in Mini-XML 0.92</A></H2>
<UL>
<LI>mxmlSaveFile() didn't return a value on success.</LI>
</UL>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML10.html">Previous</A>
<A HREF="ChangesinMiniXML092.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_11">Changes in Mini-XML 0.93</A></H2>
<H2><A NAME="7_12">Changes in Mini-XML 0.93</A></H2>
<UL>
<LI>New mxmldoc example program that is also used to create and update
code documentation using XML and produce HTML reference pages.</LI>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML11.html">Previous</A>
<A HREF="ChangesinMiniXML093.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_10">Changes in Mini-XML 1.0</A></H2>
<H2><A NAME="7_11">Changes in Mini-XML 1.0</A></H2>
<UL>
<LI>The mxmldoc program now handles function arguments, structures,
unions, enumerations, classes, and typedefs properly.</LI>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML111.html">Previous</A>
<A HREF="ChangesinMiniXML10.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_9">Changes in Mini-XML 1.1</A></H2>
<H2><A NAME="7_10">Changes in Mini-XML 1.1</A></H2>
<UL>
<LI>The mxmlLoadFile() function now uses dynamically allocated string
buffers for element names, attribute names, and attribute values.

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML112.html">Previous</A>
<A HREF="ChangesinMiniXML11.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.1</A></H2>
<H2><A NAME="7_9">Changes in Mini-XML 1.1.1</A></H2>
<UL>
<LI>The private mxml_add_ch() function did not update the
start-of-buffer pointer which could cause a crash when using

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML12.html">Previous</A>
<A HREF="ChangesinMiniXML111.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_7">Changes in Mini-XML 1.1.2</A></H2>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.2</A></H2>
<UL>
<LI>The mxml(3) man page wasn't updated for the string functions.</LI>
<LI>mxmlSaveString() returned the wrong number of characters.</LI>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML13.html">Previous</A>
<A HREF="ChangesinMiniXML112.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_6">Changes in Mini-XML 1.2</A></H2>
<H2><A NAME="7_7">Changes in Mini-XML 1.2</A></H2>
<UL>
<LI>Added new &quot;set&quot; methods to set the value of a node.</LI>
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf()

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML20.html">Previous</A>
<A HREF="ChangesinMiniXML12.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_5">Changes in Mini-XML 1.3</A></H2>
<H2><A NAME="7_6">Changes in Mini-XML 1.3</A></H2>
<UL>
<LI>Fixes for mxmldoc.</LI>
<LI>Added support for reading standard HTML entity names.</LI>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML21.html">Previous</A>
<A HREF="ChangesinMiniXML13.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_4">Changes in Mini-XML 2.0</A></H2>
<H2><A NAME="7_5">Changes in Mini-XML 2.0</A></H2>
<UL>
<LI>New programmers manual.</LI>
<LI>Added Visual C++ project files for Microsoft Windows users.</LI>

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML22.html">Previous</A>
<A HREF="ChangesinMiniXML20.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_3">Changes in Mini-XML 2.1</A></H2>
<H2><A NAME="7_4">Changes in Mini-XML 2.1</A></H2>
<UL>
<LI>Added support for custom data nodes (STR #6)</LI>
<LI>Now treat UTF-8 sequences which are longer than necessary as an

@ -27,7 +27,7 @@ PRE { font-family: monospace }
<A HREF="ChangesinMiniXML221.html">Previous</A>
<A HREF="ChangesinMiniXML21.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_2">Changes in Mini-XML 2.2</A></H2>
<H2><A NAME="7_3">Changes in Mini-XML 2.2</A></H2>
<UL>
<LI>Added shared library support (STR #17)</LI>
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal

@ -7,7 +7,7 @@
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
<LINK REL="Start" HREF="index.html">
<LINK REL="Contents" HREF="toc.html">
<LINK REL="Prev" HREF="BReleaseNotes.html">
<LINK REL="Prev" HREF="ChangesinMiniXML222.html">
<LINK REL="Next" HREF="ChangesinMiniXML22.html">
<STYLE TYPE="text/css"><!--
BODY { font-family: serif }
@ -24,10 +24,10 @@ PRE { font-family: monospace }
</HEAD>
<BODY>
<A HREF="toc.html">Contents</A>
<A HREF="BReleaseNotes.html">Previous</A>
<A HREF="ChangesinMiniXML222.html">Previous</A>
<A HREF="ChangesinMiniXML22.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.1</A></H2>
<H2><A NAME="7_2">Changes in Mini-XML 2.2.1</A></H2>
<UL>
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly
return NULL on error (STR #21)</LI>
@ -40,7 +40,7 @@ PRE { font-family: monospace }
</UL>
<HR NOSHADE>
<A HREF="toc.html">Contents</A>
<A HREF="BReleaseNotes.html">Previous</A>
<A HREF="ChangesinMiniXML222.html">Previous</A>
<A HREF="ChangesinMiniXML22.html">Next</A>
</BODY>
</HTML>

@ -0,0 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Mini-XML Programmers Manual, Version 2.2.1</TITLE>
<META NAME="author" CONTENT="Michael Sweet">
<META NAME="copyright" CONTENT="Copyright 2003-2005">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
<LINK REL="Start" HREF="index.html">
<LINK REL="Contents" HREF="toc.html">
<LINK REL="Prev" HREF="BReleaseNotes.html">
<LINK REL="Next" HREF="ChangesinMiniXML221.html">
<STYLE TYPE="text/css"><!--
BODY { font-family: serif }
H1 { font-family: sans-serif }
H2 { font-family: sans-serif }
H3 { font-family: sans-serif }
H4 { font-family: sans-serif }
H5 { font-family: sans-serif }
H6 { font-family: sans-serif }
SUB { font-size: smaller }
SUP { font-size: smaller }
PRE { font-family: monospace }
--></STYLE>
</HEAD>
<BODY>
<A HREF="toc.html">Contents</A>
<A HREF="BReleaseNotes.html">Previous</A>
<A HREF="ChangesinMiniXML221.html">Next</A>
<HR NOSHADE>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.2</A></H2>
<UL>
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
characters would be lost.</LI>
</UL>
<HR NOSHADE>
<A HREF="toc.html">Contents</A>
<A HREF="BReleaseNotes.html">Previous</A>
<A HREF="ChangesinMiniXML221.html">Next</A>
</BODY>
</HTML>

@ -90,20 +90,21 @@ Variables and Class/Structure/Union Members</A></LI>
</UL>
<B><A HREF="BReleaseNotes.html#RELNOTES">B - Release Notes</A></B>
<UL>
<LI><A HREF="ChangesinMiniXML221.html#7_1">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="ChangesinMiniXML22.html#7_2">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="ChangesinMiniXML21.html#7_3">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="ChangesinMiniXML20.html#7_4">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="ChangesinMiniXML13.html#7_5">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="ChangesinMiniXML12.html#7_6">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="ChangesinMiniXML112.html#7_7">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="ChangesinMiniXML111.html#7_8">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="ChangesinMiniXML11.html#7_9">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="ChangesinMiniXML10.html#7_10">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="ChangesinMiniXML093.html#7_11">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="ChangesinMiniXML092.html#7_12">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="ChangesinMiniXML091.html#7_13">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="ChangesinMiniXML09.html#7_14">Changes in Mini-XML 0.9</A></LI>
<LI><A HREF="ChangesinMiniXML222.html#7_1">Changes in Mini-XML 2.2.2</A></LI>
<LI><A HREF="ChangesinMiniXML221.html#7_2">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="ChangesinMiniXML22.html#7_3">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="ChangesinMiniXML21.html#7_4">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="ChangesinMiniXML20.html#7_5">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="ChangesinMiniXML13.html#7_6">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="ChangesinMiniXML12.html#7_7">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="ChangesinMiniXML112.html#7_8">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="ChangesinMiniXML111.html#7_9">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="ChangesinMiniXML11.html#7_10">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="ChangesinMiniXML10.html#7_11">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="ChangesinMiniXML093.html#7_12">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="ChangesinMiniXML092.html#7_13">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="ChangesinMiniXML091.html#7_14">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="ChangesinMiniXML09.html#7_15">Changes in Mini-XML 0.9</A></LI>
</UL>
<B><A HREF="CLibraryReference.html#REFERENCE">C - Library Reference</A></B>
<UL>

@ -21,7 +21,7 @@ html_start_table(array("Quick Info"), "100%", "100%");
html_start_row();
print("<td>"
."<p align='center'>"
."Stable Release: <a href='software.php?2.2.1'>v2.2.1</a></p>"
."Stable Release: <a href='software.php?2.2.2'>v2.2.2</a></p>"
."<small><p>Mini-XML is a small XML parsing library that you can use to "
."read XML and XML-like data files in your application without "
."requiring large non-standard libraries. Mini-XML only requires "

@ -83,20 +83,21 @@ Copyright 2003-2005<BR>
</UL>
<B><A HREF="#RELNOTES">B - Release Notes</A></B>
<UL>
<LI><A HREF="#7_1">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="#7_2">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="#7_3">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="#7_4">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="#7_5">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="#7_6">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="#7_7">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="#7_8">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="#7_9">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="#7_10">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="#7_11">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="#7_12">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="#7_13">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="#7_14">Changes in Mini-XML 0.9</A></LI>
<LI><A HREF="#7_1">Changes in Mini-XML 2.2.2</A></LI>
<LI><A HREF="#7_2">Changes in Mini-XML 2.2.1</A></LI>
<LI><A HREF="#7_3">Changes in Mini-XML 2.2</A></LI>
<LI><A HREF="#7_4">Changes in Mini-XML 2.1</A></LI>
<LI><A HREF="#7_5">Changes in Mini-XML 2.0</A></LI>
<LI><A HREF="#7_6">Changes in Mini-XML 1.3</A></LI>
<LI><A HREF="#7_7">Changes in Mini-XML 1.2</A></LI>
<LI><A HREF="#7_8">Changes in Mini-XML 1.1.2</A></LI>
<LI><A HREF="#7_9">Changes in Mini-XML 1.1.1</A></LI>
<LI><A HREF="#7_10">Changes in Mini-XML 1.1</A></LI>
<LI><A HREF="#7_11">Changes in Mini-XML 1.0</A></LI>
<LI><A HREF="#7_12">Changes in Mini-XML 0.93</A></LI>
<LI><A HREF="#7_13">Changes in Mini-XML 0.92</A></LI>
<LI><A HREF="#7_14">Changes in Mini-XML 0.91</A></LI>
<LI><A HREF="#7_15">Changes in Mini-XML 0.9</A></LI>
</UL>
<B><A HREF="#REFERENCE">C - Library Reference</A></B>
<UL>
@ -1826,7 +1827,12 @@ Ty Coon, President of Vice
<P>That's all there is to it!</P>
<HR NOSHADE>
<H1 align="right"><A name="RELNOTES">B - Release Notes</A></H1>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.1</A></H2>
<H2><A NAME="7_1">Changes in Mini-XML 2.2.2</A></H2>
<UL>
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
characters would be lost.</LI>
</UL>
<H2><A NAME="7_2">Changes in Mini-XML 2.2.1</A></H2>
<UL>
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly
return NULL on error (STR #21)</LI>
@ -1837,7 +1843,7 @@ Ty Coon, President of Vice
proper permissions on UNIX/Linux/OSX.</LI>
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI>
</UL>
<H2><A NAME="7_2">Changes in Mini-XML 2.2</A></H2>
<H2><A NAME="7_3">Changes in Mini-XML 2.2</A></H2>
<UL>
<LI>Added shared library support (STR #17)</LI>
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal
@ -1851,7 +1857,7 @@ Ty Coon, President of Vice
<LI>Added checking for invalid comment termination (&quot;---&gt;&quot; is not
allowed)</LI>
</UL>
<H2><A NAME="7_3">Changes in Mini-XML 2.1</A></H2>
<H2><A NAME="7_4">Changes in Mini-XML 2.1</A></H2>
<UL>
<LI>Added support for custom data nodes (STR #6)</LI>
<LI>Now treat UTF-8 sequences which are longer than necessary as an
@ -1862,7 +1868,7 @@ Ty Coon, President of Vice
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI>
<LI>Fixed multi-word UTF-16 handling.</LI>
</UL>
<H2><A NAME="7_4">Changes in Mini-XML 2.0</A></H2>
<H2><A NAME="7_5">Changes in Mini-XML 2.0</A></H2>
<UL>
<LI>New programmers manual.</LI>
<LI>Added Visual C++ project files for Microsoft Windows users.</LI>
@ -1895,7 +1901,7 @@ Ty Coon, President of Vice
destination path and install path. This caused problems when building
and installing with MingW.</LI>
</UL>
<H2><A NAME="7_5">Changes in Mini-XML 1.3</A></H2>
<H2><A NAME="7_6">Changes in Mini-XML 1.3</A></H2>
<UL>
<LI>Fixes for mxmldoc.</LI>
<LI>Added support for reading standard HTML entity names.</LI>
@ -1911,7 +1917,7 @@ Ty Coon, President of Vice
<LI>The load and save functions now properly handle quoted element and
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI>
</UL>
<H2><A NAME="7_6">Changes in Mini-XML 1.2</A></H2>
<H2><A NAME="7_7">Changes in Mini-XML 1.2</A></H2>
<UL>
<LI>Added new &quot;set&quot; methods to set the value of a node.</LI>
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf()
@ -1924,13 +1930,13 @@ Ty Coon, President of Vice
<LI>Added --with/without-snprintf configure option to control the
snprintf() and vsnprintf() function checks.</LI>
</UL>
<H2><A NAME="7_7">Changes in Mini-XML 1.1.2</A></H2>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.2</A></H2>
<UL>
<LI>The mxml(3) man page wasn't updated for the string functions.</LI>
<LI>mxmlSaveString() returned the wrong number of characters.</LI>
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI>
</UL>
<H2><A NAME="7_8">Changes in Mini-XML 1.1.1</A></H2>
<H2><A NAME="7_9">Changes in Mini-XML 1.1.1</A></H2>
<UL>
<LI>The private mxml_add_ch() function did not update the
start-of-buffer pointer which could cause a crash when using
@ -1941,7 +1947,7 @@ Ty Coon, President of Vice
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML
node tree to an allocated string.</LI>
</UL>
<H2><A NAME="7_9">Changes in Mini-XML 1.1</A></H2>
<H2><A NAME="7_10">Changes in Mini-XML 1.1</A></H2>
<UL>
<LI>The mxmlLoadFile() function now uses dynamically allocated string
buffers for element names, attribute names, and attribute values.
@ -1953,7 +1959,7 @@ Ty Coon, President of Vice
<LI>Add emulation of strdup() if the local platform does not provide the
function.</LI>
</UL>
<H2><A NAME="7_10">Changes in Mini-XML 1.0</A></H2>
<H2><A NAME="7_11">Changes in Mini-XML 1.0</A></H2>
<UL>
<LI>The mxmldoc program now handles function arguments, structures,
unions, enumerations, classes, and typedefs properly.</LI>
@ -1961,7 +1967,7 @@ Ty Coon, President of Vice
code.</LI>
<LI>Added man pages and packaging files.</LI>
</UL>
<H2><A NAME="7_11">Changes in Mini-XML 0.93</A></H2>
<H2><A NAME="7_12">Changes in Mini-XML 0.93</A></H2>
<UL>
<LI>New mxmldoc example program that is also used to create and update
code documentation using XML and produce HTML reference pages.</LI>
@ -1986,15 +1992,15 @@ Ty Coon, President of Vice
<LI>mxmlSaveFile() now supports a whitespace callback to provide more
human-readable XML output under program control.</LI>
</UL>
<H2><A NAME="7_12">Changes in Mini-XML 0.92</A></H2>
<H2><A NAME="7_13">Changes in Mini-XML 0.92</A></H2>
<UL>
<LI>mxmlSaveFile() didn't return a value on success.</LI>
</UL>
<H2><A NAME="7_13">Changes in Mini-XML 0.91</A></H2>
<H2><A NAME="7_14">Changes in Mini-XML 0.91</A></H2>
<UL>
<LI>mxmlWalkNext() would go into an infinite loop.</LI>
</UL>
<H2><A NAME="7_14">Changes in Mini-XML 0.9</A></H2>
<H2><A NAME="7_15">Changes in Mini-XML 0.9</A></H2>
<UL>
<LI>Initial public release.</LI>
</UL>

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save