From a5ea819842cf8405811793dfadac6267093299a4 Mon Sep 17 00:00:00 2001
From: Michael R Sweet
Date: Thu, 13 Oct 2005 18:27:00 +0000
Subject: [PATCH] Bump version to 2.3.
Add @since ...@ comments.
Fix parsing of @...@ comments.
Add comments to end of each list item.
Use "-Os -g" as the default optimization with GCC.
Change string functions to use _mxml prefix instead.
---
CHANGES | 6 +-
Makefile.in | 24 +--
config.h.in | 12 +-
configure | 35 +++--
configure.in | 35 +++--
doc/reference.html | 365 +++++++++++++++++++++++----------------------
doc/relnotes.html | 5 +-
mxml-node.c | 10 +-
mxml-set.c | 8 +-
mxml-string.c | 46 +++---
mxml.h | 12 +-
mxml.xml | 58 +++----
mxmldoc.c | 92 +++++++-----
13 files changed, 398 insertions(+), 310 deletions(-)
diff --git a/CHANGES b/CHANGES
index 54736a6..5eec7d4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,10 @@
-CHANGES - 09/28/2005
+CHANGES - 10/13/2005
--------------------
-CHANGES IN Mini-XML 2.2.3
+CHANGES IN Mini-XML 2.3
+ - The mxmldoc program now supports "@since version@" and
+ "@deprecated@" comments.
- Fixed function and enumeraion type bugs in mxmldoc.
- Fixed XML schema for mxmldoc.
- The mxmldoc program now supports --title and --intro
diff --git a/Makefile.in b/Makefile.in
index 54259c6..051b95d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -148,13 +148,13 @@ install-libmxml.a:
$(INSTALL_DIR) $(BUILDROOT)$(libdir)
$(INSTALL_LIB) libmxml.a $(BUILDROOT)$(libdir)
-install-libmxml.so.1.1:
+install-libmxml.so.1.2:
$(INSTALL_DIR) $(BUILDROOT)$(libdir)
- $(INSTALL_LIB) libmxml.so.1.1 $(BUILDROOT)$(libdir)
+ $(INSTALL_LIB) libmxml.so.1.2 $(BUILDROOT)$(libdir)
$(RM) $(BUILDROOT)$(libdir)/libmxml.so
- $(LN) libmxml.so.1.1 $(BUILDROOT)$(libdir)/libmxml.so
+ $(LN) libmxml.so.1.2 $(BUILDROOT)$(libdir)/libmxml.so
$(RM) $(BUILDROOT)$(libdir)/libmxml.so.1
- $(LN) libmxml.so.1.1 $(BUILDROOT)$(libdir)/libmxml.so.1
+ $(LN) libmxml.so.1.2 $(BUILDROOT)$(libdir)/libmxml.so.1
install-libmxml.sl.1:
$(INSTALL_DIR) $(BUILDROOT)$(libdir)
@@ -186,10 +186,10 @@ uninstall: uninstall-$(LIBMXML) uninstall-libmxml.a
uninstall-libmxml.a:
$(RM) $(BUILDROOT)$(libdir)/libmxml.a
-uninstall-libmxml.so.1.1:
+uninstall-libmxml.so.1.2:
$(RM) $(BUILDROOT)$(libdir)/libmxml.so
$(RM) $(BUILDROOT)$(libdir)/libmxml.so.1
- $(RM) $(BUILDROOT)$(libdir)/libmxml.so.1.1
+ $(RM) $(BUILDROOT)$(libdir)/libmxml.so.1.2
uninstall-libmxml.sl.1:
$(RM) $(BUILDROOT)$(libdir)/libmxml.sl
@@ -258,14 +258,14 @@ $(LIBOBJS): mxml.h
#
-# libmxml.so.1.1
+# libmxml.so.1.2
#
-libmxml.so.1.1: $(LIBOBJS)
- $(DSO) $(DSOFLAGS) -o libmxml.so.1.1 $(LIBOBJS)
+libmxml.so.1.2: $(LIBOBJS)
+ $(DSO) $(DSOFLAGS) -o libmxml.so.1.2 $(LIBOBJS)
$(RM) libmxml.so libmxml.so.1
- $(LN) libmxml.so.1.1 libmxml.so
- $(LN) libmxml.so.1.1 libmxml.so.1
+ $(LN) libmxml.so.1.2 libmxml.so
+ $(LN) libmxml.so.1.2 libmxml.so.1
#
@@ -285,7 +285,7 @@ libmxml.sl.1: $(LIBOBJS)
libmxml.1.dylib: $(LIBOBJS)
$(DSO) $(DSOFLAGS) -o libmxml.1.dylib \
-install_name $(libdir)/libmxml.dylib \
- -current_version 1.1.0 \
+ -current_version 1.2.0 \
-compatibility_version 1.0.0 \
$(LIBOBJS)
$(RM) libmxml.dylib libmxml.1.dylib
diff --git a/config.h.in b/config.h.in
index bff640e..ec7d0ef 100644
--- a/config.h.in
+++ b/config.h.in
@@ -53,16 +53,16 @@
*/
# ifndef HAVE_STRDUP
-extern char *mxml_strdup(const char *);
-# define strdup mxml_strdup
+extern char *_mxml_strdup(const char *);
+# define strdup _mxml_strdup
# endif /* !HAVE_STRDUP */
-extern char *mxml_strdupf(const char *, ...);
-extern char *mxml_vstrdupf(const char *, va_list);
+extern char *_mxml_strdupf(const char *, ...);
+extern char *_mxml_vstrdupf(const char *, va_list);
# ifndef HAVE_VSNPRINTF
-extern int mxml_vsnprintf(char *, size_t, const char *, va_list);
-# define vsnprintf mxml_vsnprintf
+extern int _mxml_vsnprintf(char *, size_t, const char *, va_list);
+# define vsnprintf _mxml_vsnprintf
# endif /* !HAVE_VSNPRINTF */
/*
diff --git a/configure b/configure
index cdedba4..34197b7 100755
--- a/configure
+++ b/configure
@@ -1236,7 +1236,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
-VERSION=2.2.3
+VERSION=2.3
cat >>confdefs.h <<_ACEOF
#define MXML_VERSION "Mini-XML v$VERSION"
@@ -1247,7 +1247,7 @@ CFLAGS="${CFLAGS:=}"
CXXFLAGS="${CXXFLAGS:=}"
LDFLAGS="${LDFLAGS:=}"
-OPTIM="-O"
+OPTIM=""
@@ -1264,8 +1264,6 @@ if test "${enable_debug+set}" = set; then
enableval="$enable_debug"
if eval "test x$enable_debug = xyes"; then
OPTIM="-g"
-else
- LDFLAGS="$LDFLAGS -s"
fi
fi;
@@ -3154,7 +3152,7 @@ echo $ECHO_N "checking for shared library support... $ECHO_C" >&6
SunOS* | UNIX_S*)
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-h,libmxml.so.1 -G -R\$(libdir) \$(OPTIM)"
LDFLAGS="$LDFLAGS -R\$(libdir)"
@@ -3163,7 +3161,7 @@ echo "${ECHO_T}yes" >&6
HP-UX*)
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
- LIBMXML="libmxml.sl.1"
+ LIBMXML="libmxml.sl.2"
DSO="ld"
DSOFLAGS="$DSOFLAGS -b -z +h libmxml.sl.1 +s +b \$(libdir)"
LDFLAGS="$LDFLAGS -Wl,+s,+b,\$(libdir)"
@@ -3172,7 +3170,7 @@ echo "${ECHO_T}yes" >&6
IRIX)
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-rpath,\$(libdir),-set_version,sgi1.0,-soname,libmxml.so.1 -shared \$(OPTIM)"
;;
@@ -3180,7 +3178,7 @@ echo "${ECHO_T}yes" >&6
OSF1* | Linux | GNU)
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-rpath,\$(libdir) -shared \$(OPTIM)"
LDFLAGS="$LDFLAGS -Wl,-rpath,\$(libdir)"
@@ -3189,7 +3187,7 @@ echo "${ECHO_T}yes" >&6
*BSD*)
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-R\$(libdir) -shared \$(OPTIM)"
LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)"
@@ -3225,6 +3223,10 @@ fi
if test -n "$GCC"; then
CFLAGS="-Wall $CFLAGS"
+ if test "x$OPTIM" = x; then
+ OPTIM="-Os -g"
+ fi
+
if test "x$use_ansi" = xyes; then
CFLAGS="-ansi -pedantic $CFLAGS"
fi
@@ -3236,6 +3238,11 @@ else
case $uname in
HP-UX*)
CFLAGS="-Ae $CFLAGS"
+
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+
OPTIM="+DAportable $OPTIM"
if test $PICFLAG = 1; then
@@ -3244,10 +3251,20 @@ else
;;
UNIX_SVR* | SunOS*)
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+
if test $PICFLAG = 1; then
OPTIM="-KPIC $OPTIM"
fi
;;
+
+ *)
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+ ;;
esac
fi
diff --git a/configure.in b/configure.in
index c539a85..481653f 100644
--- a/configure.in
+++ b/configure.in
@@ -23,7 +23,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number...
-VERSION=2.2.3
+VERSION=2.3
AC_SUBST(VERSION)
AC_DEFINE_UNQUOTED(MXML_VERSION, "Mini-XML v$VERSION")
@@ -33,7 +33,7 @@ CFLAGS="${CFLAGS:=}"
CXXFLAGS="${CXXFLAGS:=}"
LDFLAGS="${LDFLAGS:=}"
AC_SUBST(LDFLAGS)
-OPTIM="-O"
+OPTIM=""
AC_SUBST(OPTIM)
AC_ARG_WITH(ansi, [ --with-ansi set full ANSI C mode, default=no],
@@ -43,8 +43,6 @@ AC_ARG_WITH(ansi, [ --with-ansi set full ANSI C mode, default=no],
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging, default=no],
if eval "test x$enable_debug = xyes"; then
OPTIM="-g"
-else
- LDFLAGS="$LDFLAGS -s"
fi)
AC_ARG_WITH(docdir, [ --with-docdir set directory for documentation, default=${prefix}/share/doc/mxml],
@@ -122,7 +120,7 @@ if test x$enable_shared = xyes; then
case "$uname" in
SunOS* | UNIX_S*)
AC_MSG_RESULT(yes)
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-h,libmxml.so.1 -G -R\$(libdir) \$(OPTIM)"
LDFLAGS="$LDFLAGS -R\$(libdir)"
@@ -130,7 +128,7 @@ if test x$enable_shared = xyes; then
HP-UX*)
AC_MSG_RESULT(yes)
- LIBMXML="libmxml.sl.1"
+ LIBMXML="libmxml.sl.2"
DSO="ld"
DSOFLAGS="$DSOFLAGS -b -z +h libmxml.sl.1 +s +b \$(libdir)"
LDFLAGS="$LDFLAGS -Wl,+s,+b,\$(libdir)"
@@ -138,14 +136,14 @@ if test x$enable_shared = xyes; then
IRIX)
AC_MSG_RESULT(yes)
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-rpath,\$(libdir),-set_version,sgi1.0,-soname,libmxml.so.1 -shared \$(OPTIM)"
;;
OSF1* | Linux | GNU)
AC_MSG_RESULT(yes)
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-rpath,\$(libdir) -shared \$(OPTIM)"
LDFLAGS="$LDFLAGS -Wl,-rpath,\$(libdir)"
@@ -153,7 +151,7 @@ if test x$enable_shared = xyes; then
*BSD*)
AC_MSG_RESULT(yes)
- LIBMXML="libmxml.so.1.1"
+ LIBMXML="libmxml.so.1.2"
DSO="\$(CC)"
DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-R\$(libdir) -shared \$(OPTIM)"
LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)"
@@ -187,6 +185,10 @@ dnl Add -Wall for GCC...
if test -n "$GCC"; then
CFLAGS="-Wall $CFLAGS"
+ if test "x$OPTIM" = x; then
+ OPTIM="-Os -g"
+ fi
+
if test "x$use_ansi" = xyes; then
CFLAGS="-ansi -pedantic $CFLAGS"
fi
@@ -198,6 +200,11 @@ else
case $uname in
HP-UX*)
CFLAGS="-Ae $CFLAGS"
+
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+
OPTIM="+DAportable $OPTIM"
if test $PICFLAG = 1; then
@@ -206,10 +213,20 @@ else
;;
UNIX_SVR* | SunOS*)
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+
if test $PICFLAG = 1; then
OPTIM="-KPIC $OPTIM"
fi
;;
+
+ *)
+ if test "x$OPTIM" = x; then
+ OPTIM="-O2"
+ fi
+ ;;
esac
fi
diff --git a/doc/reference.html b/doc/reference.html
index 4b71439..fc47cd9 100644
--- a/doc/reference.html
+++ b/doc/reference.html
@@ -2,12 +2,13 @@
Documentation
-
+
@@ -22,10 +23,10 @@
-
+
Description
The XML node type.
@@ -33,62 +34,62 @@
Name | Description |
-MXML_CUSTOM | Custom data |
-MXML_ELEMENT | XML element with attributes |
-MXML_IGNORE | Ignore/throw away node |
-MXML_INTEGER | Integer value |
-MXML_OPAQUE | Opaque string |
-MXML_REAL | Real value |
-MXML_TEXT | Text fragment |
+MXML_CUSTOM Mini-XML 2.1 | Custom data |
+MXML_ELEMENT | XML element with attributes |
+MXML_IGNORE Mini-XML 2.3 | Ignore/throw away node |
+MXML_INTEGER | Integer value |
+MXML_OPAQUE | Opaque string |
+MXML_REAL | Real value |
+MXML_TEXT | Text fragment |
-
+
Description
Add a node to a tree.
@@ -120,7 +121,7 @@ mxmlAdd(
Returns
Nothing.
-
+
Description
Delete a node and all of its children.
@@ -142,7 +143,7 @@ mxmlDelete(
Returns
Nothing.
-
+
Description
Get an attribute.
@@ -166,7 +167,7 @@ mxmlElementGetAttr(
Returns
Attribute value or NULL
-
+
Description
Set an attribute.
@@ -194,7 +195,7 @@ mxmlElementSetAttr(
Returns
Nothing.
-
+
Description
Add a callback to convert entities to Unicode.
@@ -208,7 +209,7 @@ mxmlEntityAddCallback(void);
Returns
0 on success, -1 on failure
-
+
Description
Get the name that corresponds to the character value.
@@ -229,7 +230,7 @@ mxmlEntityGetName(
Returns
Entity name or NULL
-
+
Description
Get the character corresponding to a named entity.
@@ -251,7 +252,7 @@ mxmlEntityGetValue(
Returns
Character value or -1 on error
-
+
Description
Remove a callback.
@@ -265,7 +266,7 @@ mxmlEntityRemoveCallback(void);
Returns
Nothing.
-
+
Description
Find the named element.
@@ -303,7 +304,7 @@ mxmlFindElement(
Returns
Element node or NULL
-
+
Description
Delete an index.
@@ -322,7 +323,7 @@ mxmlIndexDelete(
Returns
Nothing.
-
+
Description
Return the next node in the index.
@@ -343,7 +344,7 @@ mxmlIndexEnum(
Returns
Next node or NULL if there is none
-
+
Description
Find the next matching node.
@@ -371,7 +372,7 @@ mxmlIndexFind(
Returns
Node or NULL if none found
-
+
Description
Create a new index.
@@ -400,7 +401,7 @@ mxmlIndexNew(
Returns
New index
-
+
Description
Reset the enumeration/find pointer in the index and
@@ -423,7 +424,7 @@ mxmlIndexReset(
Returns
First node or NULL if there is none
-
+
Description
Load a file descriptor into an XML node tree.
@@ -455,7 +456,7 @@ mxmlLoadFd(
Returns
First node or NULL if the file could not be read.
-
+
Description
Load a file into an XML node tree.
@@ -487,7 +488,7 @@ mxmlLoadFile(
Returns
First node or NULL if the file could not be read.
-
+
Description
Load a string into an XML node tree.
@@ -519,7 +520,7 @@ mxmlLoadString(
Returns
First node or NULL if the string has errors.
-
+
Description
Create a new CDATA node.
@@ -527,7 +528,9 @@ mxmlLoadString(
The new CDATA node is added to the end of the specified parent's child
list. The constant MXML_NO_PARENT can be used to specify that the new
CDATA node has no parent. The data string must be nul-terminated and
-is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+
+
Syntax
mxml_node_t *
@@ -545,7 +548,7 @@ mxmlNewCDATA(
Returns
New node
-
+
Description
Create a new custom data node.
@@ -553,7 +556,9 @@ mxmlNewCDATA(
The new custom node is added to the end of the specified parent's child
list. The constant MXML_NO_PARENT can be used to specify that the new
element node has no parent. NULL can be passed when the data in the
-node is not dynamically allocated or is separately managed.
+node is not dynamically allocated or is separately managed.
+
+
Syntax
mxml_node_t *
@@ -571,7 +576,7 @@ mxmlNewCustom(
Returns
New node
-
+
Description
Create a new element node.
@@ -596,7 +601,7 @@ mxmlNewElement(
Returns
New node
-
+
Description
Create a new integer node.
@@ -621,7 +626,7 @@ mxmlNewInteger(
Returns
New node
-
+
Description
Create a new opaque string.
@@ -647,7 +652,7 @@ mxmlNewOpaque(
Returns
New node
-
+
Description
Create a new real number node.
@@ -672,7 +677,7 @@ mxmlNewReal(
Returns
New node
-
+
Description
Create a new text fragment node.
@@ -701,7 +706,7 @@ mxmlNewText(
Returns
New node
-
+
Description
Create a new formatted text fragment node.
@@ -732,7 +737,7 @@ mxmlNewTextf(
Returns
New node
-
+
Description
Remove a node from its parent.
@@ -754,7 +759,7 @@ mxmlRemove(
Returns
Nothing.
-
+
Description
Save an XML node tree to an allocated string.
@@ -785,7 +790,7 @@ mxmlSaveAllocString(
Returns
Allocated string or NULL
-
+
Description
Save an XML tree to a file descriptor.
@@ -812,7 +817,7 @@ mxmlSaveFd(
Returns
0 on success, -1 on error.
-
+
Description
Save an XML tree to a file.
@@ -839,7 +844,7 @@ mxmlSaveFile(
Returns
0 on success, -1 on error.
-
+
Description
Save an XML node tree to a string.
@@ -872,12 +877,14 @@ mxmlSaveString(
Returns
Size of string
-
+
Description
Set the element name of a CDATA node.
-The node is not changed if it is not a CDATA element node.
+The node is not changed if it is not a CDATA element node.
+
+
Syntax
int
@@ -895,12 +902,14 @@ mxmlSetCDATA(
Returns
0 on success, -1 on failure
-
+
Description
Set the data and destructor of a custom data node.
-The node is not changed if it is not a custom node.
+The node is not changed if it is not a custom node.
+
+
Syntax
int
@@ -918,7 +927,7 @@ mxmlSetCustom(
Returns
0 on success, -1 on failure
-
+
Description
Set the handling functions for custom data.
@@ -945,7 +954,7 @@ mxmlSetCustomHandlers(
Returns
Nothing.
-
+
Description
Set the name of an element node.
@@ -968,7 +977,7 @@ mxmlSetElement(
Returns
0 on success, -1 on failure
-
+
Description
Set the error message callback.
@@ -982,7 +991,7 @@ mxmlSetErrorCallback(void);
Returns
Nothing.
-
+
Description
Set the value of an integer node.
@@ -1005,7 +1014,7 @@ mxmlSetInteger(
Returns
0 on success, -1 on failure
-
+
Description
Set the value of an opaque node.
@@ -1028,7 +1037,7 @@ mxmlSetOpaque(
Returns
0 on success, -1 on failure
-
+
Description
Set the value of a real number node.
@@ -1051,7 +1060,7 @@ mxmlSetReal(
Returns
0 on success, -1 on failure
-
+
Description
Set the value of a text node.
@@ -1076,7 +1085,7 @@ mxmlSetText(
Returns
0 on success, -1 on failure
-
+
Description
Set the value of a text node to a formatted string.
@@ -1103,7 +1112,7 @@ mxmlSetTextf(
Returns
0 on success, -1 on failure
-
+
Description
Walk to the next logical node in the tree.
@@ -1130,7 +1139,7 @@ mxmlWalkNext(
Returns
Next node or NULL
-
+
Description
Walk to the previous logical node in the tree.
@@ -1159,15 +1168,15 @@ mxmlWalkPrev(
-
+
Description
An XML element attribute value.
@@ -1183,14 +1192,14 @@ struct mxml_attr_s
Name | Description |
-name | Attribute name |
-value | Attribute value |
+name | Attribute name |
+value | Attribute value |
-
+
Description
-An XML custom value.
+An XML custom value.
Definition
struct mxml_custom_s
@@ -1202,10 +1211,32 @@ struct mxml_custom_s
Name | Description |
-data | Pointer to (allocated) custom data |
+data | Pointer to (allocated) custom data |
-
+
+
+Description
+An XML element value.
+Definition
+
+struct mxml_element_s
+{
+ mxml_attr_t * attrs;
+ char * name;
+ int num_attrs;
+};
+
+Members
+
+Name | Description |
+
+attrs | Attributes |
+name | Name of element |
+num_attrs | Number of attributes |
+
+
+
Description
An XML node index.
@@ -1224,14 +1255,14 @@ struct mxml_index_s
Name | Description |
-alloc_nodes | Allocated nodes in index |
-attr | Attribute used for indexing or NULL |
-cur_node | Current node |
-nodes | Node array |
-num_nodes | Number of nodes in index |
+alloc_nodes | Allocated nodes in index |
+attr | Attribute used for indexing or NULL |
+cur_node | Current node |
+nodes | Node array |
+num_nodes | Number of nodes in index |
-
+
Description
An XML node.
@@ -1252,16 +1283,16 @@ struct mxml_node_s
Name | Description |
-child | First child node |
-last_child | Last child node |
-next | Next node under same parent |
-parent | Parent node |
-prev | Previous node under same parent |
-type | Node type |
-value | Node value |
+child | First child node |
+last_child | Last child node |
+next | Next node under same parent |
+parent | Parent node |
+prev | Previous node under same parent |
+type | Node type |
+value | Node value |
-
+
Description
An XML text value.
@@ -1277,46 +1308,24 @@ struct mxml_text_s
Name | Description |
-string | Fragment string |
-whitespace | Leading whitespace? |
-
-
-
-
-Description
-An XML element value.
-Definition
-
-struct mxml_value_s
-{
- mxml_attr_t * attrs;
- char * name;
- int num_attrs;
-};
-
-Members
-
-Name | Description |
-
-attrs | Attributes |
-name | Name of element |
-num_attrs | Number of attributes |
+string | Fragment string |
+whitespace | Leading whitespace? |
-
+
Description
An XML element attribute value.
@@ -1325,7 +1334,7 @@ struct mxml_value_s
typedef struct mxml_attr_s mxml_attr_t;
-
+
Description
Custom data load callback function
@@ -1334,7 +1343,7 @@ typedef struct mxml_attr_s mxml_attr_t;
typedef int (*mxml_custom_load_cb_t)(mxml_node_t *, const char *);
-
+
Description
Custom data save callback function
@@ -1343,25 +1352,25 @@ typedef int (*mxml_custom_load_cb_t)(mxml_node_t *, c
typedef char * (*mxml_custom_save_cb_t)(mxml_node_t *);
-
+
Description
-An XML custom value.
+An XML custom value.
Definition
typedef struct mxml_custom_s mxml_custom_t;
-
+
Description
An XML element value.
Definition
-typedef struct mxml_value_s mxml_element_t;
+typedef struct mxml_element_s mxml_element_t;
-
+
Description
An XML node index.
@@ -1370,7 +1379,7 @@ typedef struct mxml_value_s mxml_element_t;
typedef struct mxml_index_s mxml_index_t;
-
+
Description
An XML node.
@@ -1379,7 +1388,7 @@ typedef struct mxml_index_s mxml_index_t;
typedef struct mxml_node_s mxml_node_t;
-
+
Description
An XML text value.
@@ -1388,7 +1397,7 @@ typedef struct mxml_node_s mxml_node_t;
typedef struct mxml_text_s mxml_text_t;
-
+
Description
An XML node value.
@@ -1399,10 +1408,10 @@ typedef union mxml_value_u mxml_value_t;
-
+
Description
An XML node value.
@@ -1422,12 +1431,12 @@ union mxml_value_u
Name | Description |
-custom | Custom data |
-element | Element |
-integer | Integer number |
-opaque | Opaque string |
-real | Real number |
-text | Text fragment |
+custom Mini-XML 2.1 | Custom data |
+element | Element |
+integer | Integer number |
+opaque | Opaque string |
+real | Real number |
+text | Text fragment |
diff --git a/doc/relnotes.html b/doc/relnotes.html
index a1f4d78..c139b3c 100644
--- a/doc/relnotes.html
+++ b/doc/relnotes.html
@@ -3,10 +3,13 @@
-Changes in Mini-XML 2.2.3
+Changes in Mini-XML 2.3
+ - The mxmldoc program now supports "@since version@"
+ and "@deprecated@" comments.
+
- Fixed function and enumeraion type bugs in
mxmldoc.
diff --git a/mxml-node.c b/mxml-node.c
index 5a2436a..2c8d79e 100644
--- a/mxml-node.c
+++ b/mxml-node.c
@@ -19,6 +19,8 @@
*
* mxmlAdd() - Add a node to a tree.
* mxmlDelete() - Delete a node and all of its children.
+ * mxmlNewCDATA() - Create a new CDATA node.
+ * mxmlNewCustom() - Create a new custom data node.
* mxmlNewElement() - Create a new element node.
* mxmlNewInteger() - Create a new integer node.
* mxmlNewOpaque() - Create a new opaque string.
@@ -280,6 +282,8 @@ mxmlDelete(mxml_node_t *node) /* I - Node to delete */
* list. The constant MXML_NO_PARENT can be used to specify that the new
* CDATA node has no parent. The data string must be nul-terminated and
* is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+ *
+ * @since Mini-XML 2.3@
*/
mxml_node_t * /* O - New node */
@@ -306,7 +310,7 @@ mxmlNewCDATA(mxml_node_t *parent, /* I - Parent node or MXML_NO_PARENT */
*/
if ((node = mxml_new(parent, MXML_ELEMENT)) != NULL)
- node->value.element.name = mxml_strdupf("![CDATA[%s]]", data);
+ node->value.element.name = _mxml_strdupf("![CDATA[%s]]", data);
return (node);
}
@@ -319,6 +323,8 @@ mxmlNewCDATA(mxml_node_t *parent, /* I - Parent node or MXML_NO_PARENT */
* list. The constant MXML_NO_PARENT can be used to specify that the new
* element node has no parent. NULL can be passed when the data in the
* node is not dynamically allocated or is separately managed.
+ *
+ * @since Mini-XML 2.1@
*/
mxml_node_t * /* O - New node */
@@ -571,7 +577,7 @@ mxmlNewTextf(mxml_node_t *parent, /* I - Parent node or MXML_NO_PARENT */
va_start(ap, format);
node->value.text.whitespace = whitespace;
- node->value.text.string = mxml_vstrdupf(format, ap);
+ node->value.text.string = _mxml_vstrdupf(format, ap);
va_end(ap);
}
diff --git a/mxml-set.c b/mxml-set.c
index b9e5368..c8392e9 100644
--- a/mxml-set.c
+++ b/mxml-set.c
@@ -39,6 +39,8 @@
* 'mxmlSetCustom()' - Set the data and destructor of a custom data node.
*
* The node is not changed if it is not a custom node.
+ *
+ * @since Mini-XML 2.1@
*/
int /* O - 0 on success, -1 on failure */
@@ -72,6 +74,8 @@ mxmlSetCustom(mxml_node_t *node, /* I - Node to set */
* 'mxmlSetCDATA()' - Set the element name of a CDATA node.
*
* The node is not changed if it is not a CDATA element node.
+ *
+ * @since Mini-XML 2.3@
*/
int /* O - 0 on success, -1 on failure */
@@ -93,7 +97,7 @@ mxmlSetCDATA(mxml_node_t *node, /* I - Node to set */
if (node->value.element.name)
free(node->value.element.name);
- node->value.element.name = mxml_strdupf("![CDATA[%s]]", data);
+ node->value.element.name = _mxml_strdupf("![CDATA[%s]]", data);
return (0);
}
@@ -277,7 +281,7 @@ mxmlSetTextf(mxml_node_t *node, /* I - Node to set */
va_start(ap, format);
node->value.text.whitespace = whitespace;
- node->value.text.string = mxml_strdupf(format, ap);
+ node->value.text.string = _mxml_strdupf(format, ap);
va_end(ap);
diff --git a/mxml-string.c b/mxml-string.c
index 8467024..7420427 100644
--- a/mxml-string.c
+++ b/mxml-string.c
@@ -17,10 +17,10 @@
*
* Contents:
*
- * mxml_strdup() - Duplicate a string.
- * mxml_strdupf() - Format and duplicate a string.
- * mxml_vstrdupf() - Format and duplicate a string.
- * mxml_vsnprintf() - Format a string into a fixed size buffer.
+ * _mxml_strdup() - Duplicate a string.
+ * _mxml_strdupf() - Format and duplicate a string.
+ * _mxml_vstrdupf() - Format and duplicate a string.
+ * _mxml_vsnprintf() - Format a string into a fixed size buffer.
*/
/*
@@ -31,12 +31,12 @@
/*
- * 'mxml_strdup()' - Duplicate a string.
+ * '_mxml_strdup()' - Duplicate a string.
*/
#ifndef HAVE_STRDUP
char * /* O - New string pointer */
-mxml_strdup(const char *s) /* I - String to duplicate */
+_mxml_strdup(const char *s) /* I - String to duplicate */
{
char *t; /* New string pointer */
@@ -53,12 +53,12 @@ mxml_strdup(const char *s) /* I - String to duplicate */
/*
- * 'mxml_strdupf()' - Format and duplicate a string.
+ * '_mxml_strdupf()' - Format and duplicate a string.
*/
char * /* O - New string pointer */
-mxml_strdupf(const char *format, /* I - Printf-style format string */
- ...) /* I - Additional arguments as needed */
+_mxml_strdupf(const char *format, /* I - Printf-style format string */
+ ...) /* I - Additional arguments as needed */
{
va_list ap; /* Pointer to additional arguments */
char *s; /* Pointer to formatted string */
@@ -70,7 +70,7 @@ mxml_strdupf(const char *format, /* I - Printf-style format string */
*/
va_start(ap, format);
- s = mxml_vstrdupf(format, ap);
+ s = _mxml_vstrdupf(format, ap);
va_end(ap);
return (s);
@@ -78,12 +78,12 @@ mxml_strdupf(const char *format, /* I - Printf-style format string */
/*
- * 'mxml_vstrdupf()' - Format and duplicate a string.
+ * '_mxml_vstrdupf()' - Format and duplicate a string.
*/
char * /* O - New string pointer */
-mxml_vstrdupf(const char *format, /* I - Printf-style format string */
- va_list ap) /* I - Pointer to additional arguments */
+_mxml_vstrdupf(const char *format, /* I - Printf-style format string */
+ va_list ap) /* I - Pointer to additional arguments */
{
int bytes; /* Number of bytes required */
char *buffer, /* String buffer */
@@ -124,14 +124,14 @@ mxml_vstrdupf(const char *format, /* I - Printf-style format string */
#ifndef HAVE_VSNPRINTF
/*
- * 'mxml_vsnprintf()' - Format a string into a fixed size buffer.
+ * '_mxml_vsnprintf()' - Format a string into a fixed size buffer.
*/
int /* O - Number of bytes formatted */
-mxml_vsnprintf(char *buffer, /* O - Output buffer */
- size_t bufsize, /* O - Size of output buffer */
- const char *format, /* I - Printf-style format string */
- va_list ap) /* I - Pointer to additional arguments */
+_mxml_vsnprintf(char *buffer, /* O - Output buffer */
+ size_t bufsize, /* O - Size of output buffer */
+ const char *format, /* I - Printf-style format string */
+ va_list ap) /* I - Pointer to additional arguments */
{
char *bufptr, /* Pointer to position in buffer */
*bufend, /* Pointer to end of buffer */
@@ -180,7 +180,10 @@ mxml_vsnprintf(char *buffer, /* O - Output buffer */
if (*format == '*')
{
- // Get width from argument...
+ /*
+ * Get width from argument...
+ */
+
format ++;
width = va_arg(ap, int);
@@ -209,7 +212,10 @@ mxml_vsnprintf(char *buffer, /* O - Output buffer */
if (*format == '*')
{
- // Get precision from argument...
+ /*
+ * Get precision from argument...
+ */
+
format ++;
prec = va_arg(ap, int);
diff --git a/mxml.h b/mxml.h
index da84056..bcc3529 100644
--- a/mxml.h
+++ b/mxml.h
@@ -74,13 +74,13 @@
typedef enum mxml_type_e /**** The XML node type. ****/
{
- MXML_IGNORE = -1, /* Ignore/throw away node */
+ MXML_IGNORE = -1, /* Ignore/throw away node @since Mini-XML 2.3@ */
MXML_ELEMENT, /* XML element with attributes */
MXML_INTEGER, /* Integer value */
MXML_OPAQUE, /* Opaque string */
MXML_REAL, /* Real value */
MXML_TEXT, /* Text fragment */
- MXML_CUSTOM /* Custom data */
+ MXML_CUSTOM /* Custom data @since Mini-XML 2.1@ */
} mxml_type_t;
typedef struct mxml_attr_s /**** An XML element attribute value. ****/
@@ -89,7 +89,7 @@ typedef struct mxml_attr_s /**** An XML element attribute value. ****/
char *value; /* Attribute value */
} mxml_attr_t;
-typedef struct mxml_value_s /**** An XML element value. ****/
+typedef struct mxml_element_s /**** An XML element value. ****/
{
char *name; /* Name of element */
int num_attrs; /* Number of attributes */
@@ -102,7 +102,7 @@ typedef struct mxml_text_s /**** An XML text value. ****/
char *string; /* Fragment string */
} mxml_text_t;
-typedef struct mxml_custom_s /**** An XML custom value. ****/
+typedef struct mxml_custom_s /**** An XML custom value. @since Mini-XML 2.1@ ****/
{
void *data; /* Pointer to (allocated) custom data */
void (*destroy)(void *);
@@ -116,7 +116,7 @@ typedef union mxml_value_u /**** An XML node value. ****/
char *opaque; /* Opaque string */
double real; /* Real number */
mxml_text_t text; /* Text fragment */
- mxml_custom_t custom; /* Custom data */
+ mxml_custom_t custom; /* Custom data @since Mini-XML 2.1@ */
} mxml_value_t;
typedef struct mxml_node_s /**** An XML node. ****/
@@ -235,7 +235,7 @@ extern mxml_node_t *mxmlWalkPrev(mxml_node_t *node, mxml_node_t *top,
/*
- * Private functions...
+ * Semi-private functions...
*/
extern void mxml_error(const char *format, ...);
diff --git a/mxml.xml b/mxml.xml
index 2ab5137..1a68497 100644
--- a/mxml.xml
+++ b/mxml.xml
@@ -325,7 +325,9 @@ child nodes of the specified type.
The new CDATA node is added to the end of the specified parent's child
list. The constant MXML_NO_PARENT can be used to specify that the new
CDATA node has no parent. The data string must be nul-terminated and
-is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+
+@since Mini-XML 2.3@
mxml_node_t *
Parent node or MXML_NO_PARENT
@@ -345,7 +347,9 @@ is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+node is not dynamically allocated or is separately managed.
+
+@since Mini-XML 2.1@
mxml_node_t *
Parent node or MXML_NO_PARENT
@@ -596,7 +600,9 @@ element tags.
Set the element name of a CDATA node.
-The node is not changed if it is not a CDATA element node.
+The node is not changed if it is not a CDATA element node.
+
+@since Mini-XML 2.3@
mxml_node_t *
Node to set
@@ -613,7 +619,9 @@ The node is not changed if it is not a CDATA element node.
Set the data and destructor of a custom data node.
-The node is not changed if it is not a custom node.
+The node is not changed if it is not a custom node.
+
+@since Mini-XML 2.1@
mxml_node_t *
Node to set
@@ -822,7 +830,7 @@ the walk to the node's children.
Custom data load callback function
- An XML custom value.
+ An XML custom value. @since Mini-XML 2.1@
void *
Pointer to (allocated) custom data
@@ -836,10 +844,25 @@ the walk to the node's children.
struct mxml_custom_s
- An XML custom value.
+ An XML custom value. @since Mini-XML 2.1@
+
+ An XML element value.
+
+ mxml_attr_t *
+ Attributes
+
+
+ char *
+ Name of element
+
+
+ int
+ Number of attributes
+
+
- struct mxml_value_s
+ struct mxml_element_s
An XML element value.
@@ -922,13 +945,13 @@ the walk to the node's children.
The XML node type.
- Custom data
+ Custom data @since Mini-XML 2.1@
XML element with attributes
- Ignore/throw away node
+ Ignore/throw away node @since Mini-XML 2.3@
Integer value
@@ -943,21 +966,6 @@ the walk to the node's children.
Text fragment
-
- An XML element value.
-
- mxml_attr_t *
- Attributes
-
-
- char *
- Name of element
-
-
- int
- Number of attributes
-
-
union mxml_value_u
An XML node value.
@@ -966,7 +974,7 @@ the walk to the node's children.
An XML node value.
mxml_custom_t
- Custom data
+ Custom data @since Mini-XML 2.1@
mxml_element_t
diff --git a/mxmldoc.c b/mxmldoc.c
index b6e3c62..89e17a6 100644
--- a/mxmldoc.c
+++ b/mxmldoc.c
@@ -494,7 +494,7 @@ get_comment_info(
for (ptr = strchr(text, '@'); ptr; ptr = strchr(ptr, '@'))
{
if (!strncmp(ptr, "@deprecated@", 12))
- return ("DEPRECATED");
+ return (" DEPRECATED ");
else if (!strncmp(ptr, "@since ", 7))
{
strncpy(since, ptr + 7, sizeof(since) - 1);
@@ -503,7 +503,7 @@ get_comment_info(
if ((ptr = strchr(since, '@')) != NULL)
*ptr = '\0';
- snprintf(info, sizeof(info), "%s", since);
+ snprintf(info, sizeof(info), " %s ", since);
return (info);
}
}
@@ -2059,8 +2059,9 @@ write_description(
for (ptr = text; *ptr; ptr ++)
{
- if (*ptr == '@' && !strncmp(ptr + 1, "deprecated@", 11) &&
- !strncmp(ptr + 1, "since ", 6))
+ if (*ptr == '@' &&
+ (!strncmp(ptr + 1, "deprecated@", 11) ||
+ !strncmp(ptr + 1, "since ", 6)))
{
ptr ++;
while (*ptr && *ptr != '@')
@@ -2162,7 +2163,8 @@ write_documentation(
"\th1, h2, h3, p { font-family: sans-serif; text-align: justify; }\n"
"\ttt, pre a:link, pre a:visited, tt a:link, tt a:visited { font-weight: bold; color: #7f0000; }\n"
"\tpre { font-weight: bold; color: #7f0000; margin-left: 2em; }\n"
- "\tspan.info { font-weight: bold; padding: 2; color: #ffffff; background: #000000; float: right; }\n"
+ "\tspan.info { font-weight: bold; font-style: italic; color: #ffffff; background: #000000; }\n"
+ "\th3 span.info { float: right; }\n"
"\t-->\n"
"\n"
"\n", title);
@@ -2222,7 +2224,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(scut, "name");
- printf("\t- %s
\n", name, name);
+ printf("\t- %s %s
\n", name, name,
+ get_comment_info(mxmlFindElement(scut, scut, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("
");
@@ -2237,8 +2241,8 @@ write_documentation(
description = mxmlFindElement(scut, scut, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- "
\n", get_comment_info(description), cname, cname);
+ "\n"
+ "
\n", cname, cname, get_comment_info(description));
if (description)
{
@@ -2352,8 +2356,8 @@ write_documentation(
description = mxmlFindElement(arg, arg, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf("%s%s | ", get_comment_info(description),
- mxmlElementGetAttr(arg, "name"));
+ printf(" |
%s %s | ",
+ mxmlElementGetAttr(arg, "name"), get_comment_info(description));
write_description(description);
@@ -2370,8 +2374,8 @@ write_documentation(
description = mxmlFindElement(function, function, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf(" |
%s%s() | ",
- get_comment_info(description), cname, name, name);
+ printf(" |
%s() %s | ",
+ cname, name, name, get_comment_info(description));
write_description(description);
@@ -2409,7 +2413,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(scut, "name");
- printf("\t%s\n", name, name);
+ printf("\t%s %s\n", name, name,
+ get_comment_info(mxmlFindElement(scut, scut, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2424,8 +2430,8 @@ write_documentation(
description = mxmlFindElement(scut, scut, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " \n", get_comment_info(description), name, name);
+ "\n"
+ " \n", name, name, get_comment_info(description));
if (description)
{
@@ -2448,8 +2454,8 @@ write_documentation(
{
description = mxmlFindElement(arg, arg, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf(" |
%s%s | ", get_comment_info(description),
- mxmlElementGetAttr(arg, "name"));
+ printf(" |
%s %s | ",
+ mxmlElementGetAttr(arg, "name"), get_comment_info(description));
write_description(description);
@@ -2477,7 +2483,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(function, "name");
- printf("\t%s()\n", name, name);
+ printf("\t%s() %s\n", name, name,
+ get_comment_info(mxmlFindElement(function, function, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2492,8 +2500,8 @@ write_documentation(
description = mxmlFindElement(function, function, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " \n", get_comment_info(description), name, name);
+ "\n"
+ " \n", name, name, get_comment_info(description));
if (description)
{
@@ -2603,7 +2611,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(scut, "name");
- printf("\t%s\n", name, name);
+ printf("\t%s %s\n", name, name,
+ get_comment_info(mxmlFindElement(scut, scut, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2618,8 +2628,8 @@ write_documentation(
description = mxmlFindElement(scut, scut, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " \n", get_comment_info(description), cname, cname);
+ "\n"
+ " \n", cname, cname, get_comment_info(description));
if (description)
{
@@ -2711,8 +2721,8 @@ write_documentation(
{
description = mxmlFindElement(arg, arg, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf(" |
%s%s | ", get_comment_info(description),
- mxmlElementGetAttr(arg, "name"));
+ printf(" |
%s %s | ",
+ mxmlElementGetAttr(arg, "name"), get_comment_info(description));
write_description(description);
@@ -2729,8 +2739,8 @@ write_documentation(
description = mxmlFindElement(function, function, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf(" |
%s%s() | ",
- get_comment_info(description), cname, name, name);
+ printf(" |
%s() %s | ",
+ cname, name, name, get_comment_info(description));
write_description(description);
@@ -2768,7 +2778,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(scut, "name");
- printf("\t%s\n", name, name);
+ printf("\t%s %s\n", name, name,
+ get_comment_info(mxmlFindElement(scut, scut, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2783,8 +2795,8 @@ write_documentation(
description = mxmlFindElement(scut, scut, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " \n", get_comment_info(description), name, name);
+ "\n"
+ " \n", name, name, get_comment_info(description));
if (description)
{
@@ -2890,7 +2902,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(scut, "name");
- printf("\t%s\n", name, name);
+ printf("\t%s %s\n", name, name,
+ get_comment_info(mxmlFindElement(scut, scut, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2905,8 +2919,8 @@ write_documentation(
description = mxmlFindElement(scut, scut, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " \n", get_comment_info(description), name, name);
+ "\n"
+ " \n", name, name, get_comment_info(description));
if (description)
{
@@ -2945,8 +2959,8 @@ write_documentation(
{
description = mxmlFindElement(arg, arg, "description", NULL,
NULL, MXML_DESCEND_FIRST);
- printf(" |
%s%s | ", get_comment_info(description),
- mxmlElementGetAttr(arg, "name"));
+ printf(" |
%s %s | ",
+ mxmlElementGetAttr(arg, "name"), get_comment_info(description));
write_description(description);
@@ -2974,7 +2988,9 @@ write_documentation(
MXML_NO_DESCEND))
{
name = mxmlElementGetAttr(arg, "name");
- printf("\t%s\n", name, name);
+ printf("\t%s %s\n", name, name,
+ get_comment_info(mxmlFindElement(arg, arg, "description",
+ NULL, NULL, MXML_DESCEND_FIRST)));
}
puts("");
@@ -2989,8 +3005,8 @@ write_documentation(
description = mxmlFindElement(arg, arg, "description", NULL,
NULL, MXML_DESCEND_FIRST);
printf("\n"
- "\n"
- " ", get_comment_info(description), name, name);
+ "\n"
+ " ", name, name, get_comment_info(description));
if (description)
{
|