Mercurial > pidgin.yaz
diff src/xmlnode.c @ 10415:5b7a74d397cc
[gaim-migrate @ 11665]
Ability to save statuses.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 25 Dec 2004 19:54:24 +0000 |
parents | 20df7dd1c57c |
children | 3232e1a33899 |
line wrap: on
line diff
--- a/src/xmlnode.c Sat Dec 25 18:33:27 2004 +0000 +++ b/src/xmlnode.c Sat Dec 25 19:54:24 2004 +0000 @@ -85,23 +85,23 @@ } void -xmlnode_insert_data(xmlnode *parent, const char *data, size_t size) +xmlnode_insert_data(xmlnode *node, const char *data, size_t size) { - xmlnode *node; + xmlnode *child; size_t real_size; - g_return_if_fail(parent != NULL); + g_return_if_fail(node != NULL); g_return_if_fail(data != NULL); g_return_if_fail(size != 0); real_size = size == -1 ? strlen(data) : size; - node = new_node(NULL, XMLNODE_TYPE_DATA); + child = new_node(NULL, XMLNODE_TYPE_DATA); - node->data = g_memdup(data, real_size); - node->data_sz = real_size; + child->data = g_memdup(data, real_size); + child->data_sz = real_size; - xmlnode_insert_child(parent, node); + xmlnode_insert_child(node, child); } void @@ -243,7 +243,7 @@ return g_string_free(str, FALSE); } -static char *xmlnode_to_str_helper(xmlnode *node, int *len, gboolean formatting, int depth) +static gchar *xmlnode_to_str_helper(xmlnode *node, int *len, gboolean formatting, int depth) { GString *text = g_string_new(""); xmlnode *c; @@ -297,9 +297,9 @@ if(tab && pretty) text = g_string_append(text, tab); - g_string_append_printf(text, "</%s>%s", node_name, pretty ? newline : ""); + g_string_append_printf(text, "</%s>%s", node_name, formatting ? newline : ""); } else { - g_string_append_printf(text, "/>%s", pretty ? newline : ""); + g_string_append_printf(text, "/>%s", formatting ? newline : ""); } g_free(node_name); @@ -313,12 +313,19 @@ return g_string_free(text, FALSE); } -char *xmlnode_to_str(xmlnode *node, int *len) { +gchar *xmlnode_to_str(xmlnode *node, int *len) { return xmlnode_to_str_helper(node, len, FALSE, 0); } -char *xmlnode_to_formatted_str(xmlnode *node, int *len) { - return xmlnode_to_str_helper(node, len, TRUE, 0); +gchar *xmlnode_to_formatted_str(xmlnode *node, int *len) { + gchar *xml, *xml_with_declaration; + + xml = xmlnode_to_str_helper(node, len, TRUE, 0); + xml_with_declaration = + g_strdup_printf("<?xml version='1.0' encoding='UTF-8' ?>\n\n%s", xml); + g_free(xml); + + return xml_with_declaration; } struct _xmlnode_parser_data {