loudmouth/lm-message.c
changeset 79 63971f168ce6
parent 57 6b168a8917f7
child 84 7ae7b690aa89
--- a/loudmouth/lm-message.c	Fri Jan 23 05:29:37 2004 +0000
+++ b/loudmouth/lm-message.c	Thu Jan 29 10:01:43 2004 +0000
@@ -202,8 +202,10 @@
 LmMessage *
 lm_message_new (const gchar *to, LmMessageType type)
 {
-	LmMessage *m = g_new0 (LmMessage, 1);
-	
+	LmMessage *m;
+	gchar     *id;
+
+	m       = g_new0 (LmMessage, 1);
 	m->priv = g_new0 (LmMessagePriv, 1);
 
 	PRIV(m)->ref_count = 1;
@@ -212,7 +214,9 @@
 	
 	m->node = _lm_message_node_new (_lm_message_type_to_string (type));
 
-	lm_message_node_set_attribute (m->node, "id", _lm_utils_generate_id());
+	id = _lm_utils_generate_id ();
+	lm_message_node_set_attribute (m->node, "id", id);
+	g_free (id);
 	
 	if (to) {
 		lm_message_node_set_attribute (m->node, "to", to);
@@ -241,9 +245,11 @@
 			      LmMessageType     type, 
 			      LmMessageSubType  sub_type)
 {
-	LmMessage   *m = lm_message_new (to, type);
+	LmMessage   *m;
 	const gchar *type_str;
 
+	m = lm_message_new (to, type);
+
 	type_str = _lm_message_sub_type_to_string (sub_type);
 
 	if (type_str) {
@@ -337,6 +343,7 @@
 	
 	if (PRIV(message)->ref_count == 0) {
 		lm_message_node_unref (message->node);
+		g_free (message->priv);
 		g_free (message);
 	}
 }