Mercurial > pidgin
diff libpurple/xmlnode.c @ 18072:3fc94e7c7056
add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Thu, 07 Jun 2007 21:14:54 +0000 |
| parents | 905d69a0ffd7 |
| children | 6050348614ab |
line wrap: on
line diff
--- a/libpurple/xmlnode.c Thu Jun 07 14:48:33 2007 +0000 +++ b/libpurple/xmlnode.c Thu Jun 07 21:14:54 2007 +0000 @@ -333,8 +333,9 @@ for(c = node->child; c; c = c->next) { if(c->type == XMLNODE_TYPE_DATA) { if(!str) - str = g_string_new(""); - str = g_string_append_len(str, c->data, c->data_sz); + str = g_string_new_len(c->data, c->data_sz); + else + str = g_string_append_len(str, c->data, c->data_sz); } } @@ -344,6 +345,18 @@ return g_string_free(str, FALSE); } +char * +xmlnode_get_data_unescaped(xmlnode *node) +{ + char *escaped = xmlnode_get_data(node); + + char *unescaped = escaped ? purple_unescape_html(escaped) : NULL; + + g_free(escaped); + + return unescaped; +} + static char * xmlnode_to_str_helper(xmlnode *node, int *len, gboolean formatting, int depth) {
