changeset 24756:6efcf61cf12b

merge of '91d403bb5dfadec9e38f0c0c058ababeed6fd9d7' and 'eb16a1c0c5f81e6320a264061588965751a02101'
author Mark Doliner <mark@kingant.net>
date Mon, 15 Dec 2008 04:09:02 +0000
parents 9d13030adae8 (current diff) 0e8d91cdd63a (diff)
children 68cc1a8a0d21 041bb386bf96
files
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/myspace/message.c	Mon Dec 15 04:03:12 2008 +0000
+++ b/libpurple/protocols/myspace/message.c	Mon Dec 15 04:09:02 2008 +0000
@@ -23,6 +23,7 @@
 #include "message.h"
 
 static void msim_msg_free_element(gpointer data, gpointer user_data);
+static MsimMessage *msim_msg_append_dynamic_name(MsimMessage *msg, gchar *name, MsimMessageType type, gpointer data);
 static void msim_msg_debug_string_element(gpointer data, gpointer user_data);
 static gchar *msim_msg_pack_using(MsimMessage *msg, GFunc gf, const gchar *sep, const gchar *begin, const gchar *end);
 static GList *msim_msg_get_node(MsimMessage *msg, const gchar *name);
@@ -357,7 +358,10 @@
 
 	/* Append cloned data. Note that the 'name' field is a static string, so it
 	 * never needs to be copied nor freed. */
-	*new = msim_msg_append(*new, elem->name, elem->type, new_data);
+	if (elem->dynamic_name)
+		*new = msim_msg_append_dynamic_name(*new, g_strdup(elem->name), elem->type, new_data);
+	else
+		*new = msim_msg_append(*new, elem->name, elem->type, new_data);
 }
 
 /** Clone an existing MsimMessage.