From ac83fc6a81f7d00849ced251af5c92202195f49f Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Tue, 29 Mar 2005 15:11:56 +0000 Subject: [PATCH] Close element before writing comment --- mxml.c | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/mxml.c b/mxml.c index 43a0a99..c461092 100755 --- a/mxml.c +++ b/mxml.c @@ -37,6 +37,9 @@ deleting nodes. $Log$ + Revision 1.6 2005/03/29 15:11:56 ritt + Close element before writing comment + Revision 1.5 2005/03/29 14:49:50 ritt Fixed compiler warning @@ -505,15 +508,25 @@ int mxml_write_value(MXML_WRITER *writer, const char *data) int mxml_write_comment(MXML_WRITER *writer, const char *string) /* write a comment to an XML file, enclosed in "" */ { - if (!writer->element_is_open) + int i; + char line[1000]; + + if (writer->element_is_open) { + mxml_write_line(writer, ">\n"); + writer->element_is_open = FALSE; + } + + line[0] = 0; + for (i=0 ; ilevel ; i++) + strlcat(line, XML_INDENT, sizeof(line)); + + strlcat(line, "\n", sizeof(line)); + if (mxml_write_line(writer, line) != strlen(line)) return FALSE; - if (mxml_write_line(writer, "\n") == 5; + return TRUE; } /*------------------------------------------------------------------*/ @@ -1531,12 +1544,21 @@ void mxml_free_tree(PMXML_NODE tree) /*------------------------------------------------------------------*/ -/* void mxml_test() { char err[256]; PMXML_NODE tree, *node; int i, n; + MXML_WRITER *writer; + + writer = mxml_open_file("c:\\tmp\\test.xml"); + mxml_start_element(writer, "odb"); + mxml_start_element(writer, "dir"); + mxml_write_value(writer, "contents"); + mxml_end_element(writer); + mxml_write_comment(writer, "comment"); + mxml_end_element(writer); + mxml_close_file(writer); tree = mxml_parse_file("c:\\online\\odb.xml", err, sizeof(err)); @@ -1551,4 +1573,3 @@ void mxml_test() mxml_debug_tree(tree, 0); mxml_free_tree(tree); } -*/