| 21 |
21 |
| 22 #include "myspace.h" |
22 #include "myspace.h" |
| 23 #include "message.h" |
23 #include "message.h" |
| 24 |
24 |
| 25 static void msim_msg_free_element(gpointer data, gpointer user_data); |
25 static void msim_msg_free_element(gpointer data, gpointer user_data); |
| |
26 static MsimMessage *msim_msg_append_dynamic_name(MsimMessage *msg, gchar *name, MsimMessageType type, gpointer data); |
| 26 static void msim_msg_debug_string_element(gpointer data, gpointer user_data); |
27 static void msim_msg_debug_string_element(gpointer data, gpointer user_data); |
| 27 static gchar *msim_msg_pack_using(MsimMessage *msg, GFunc gf, const gchar *sep, const gchar *begin, const gchar *end); |
28 static gchar *msim_msg_pack_using(MsimMessage *msg, GFunc gf, const gchar *sep, const gchar *begin, const gchar *end); |
| 28 static GList *msim_msg_get_node(MsimMessage *msg, const gchar *name); |
29 static GList *msim_msg_get_node(MsimMessage *msg, const gchar *name); |
| 29 static MsimMessage *msim_msg_new_v(gchar *first_key, va_list argp); |
30 static MsimMessage *msim_msg_new_v(gchar *first_key, va_list argp); |
| 30 |
31 |
| 355 g_return_if_reached(); |
356 g_return_if_reached(); |
| 356 } |
357 } |
| 357 |
358 |
| 358 /* Append cloned data. Note that the 'name' field is a static string, so it |
359 /* Append cloned data. Note that the 'name' field is a static string, so it |
| 359 * never needs to be copied nor freed. */ |
360 * never needs to be copied nor freed. */ |
| 360 *new = msim_msg_append(*new, elem->name, elem->type, new_data); |
361 if (elem->dynamic_name) |
| |
362 *new = msim_msg_append_dynamic_name(*new, g_strdup(elem->name), elem->type, new_data); |
| |
363 else |
| |
364 *new = msim_msg_append(*new, elem->name, elem->type, new_data); |
| 361 } |
365 } |
| 362 |
366 |
| 363 /** Clone an existing MsimMessage. |
367 /** Clone an existing MsimMessage. |
| 364 * |
368 * |
| 365 * @return Cloned message; caller should free with msim_msg_free(). |
369 * @return Cloned message; caller should free with msim_msg_free(). |