# HG changeset patch # User Mark Doliner # Date 1229314142 0 # Node ID 6efcf61cf12ba6f3b30486b104730c69ae67672b # Parent 9d13030adae82b19c03206a1ecc411e26c462716# Parent 0e8d91cdd63a1e0b94eb7f1da7566639a9735a88 merge of '91d403bb5dfadec9e38f0c0c058ababeed6fd9d7' and 'eb16a1c0c5f81e6320a264061588965751a02101' diff -r 9d13030adae8 -r 6efcf61cf12b libpurple/protocols/myspace/message.c --- 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.