[telepathy-gabble/master] lm_message_node_unlink; takes the parent as argument

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Jun 26 08:49:46 PDT 2009


This will allow us to re-implement this function in Wocky-land (Wocky
nodes don't have a parent pointer).
---
 src/util.c          |    7 ++++---
 src/util.h          |    3 ++-
 src/vcard-manager.c |    2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/util.c b/src/util.c
index b8d4e11..70977e9 100644
--- a/src/util.c
+++ b/src/util.c
@@ -124,10 +124,11 @@ lm_message_node_add_own_nick (LmMessageNode *node,
 }
 
 void
-lm_message_node_unlink (LmMessageNode *orphan)
+lm_message_node_unlink (LmMessageNode *orphan,
+    LmMessageNode *parent)
 {
-  if (orphan->parent && orphan == orphan->parent->children)
-    orphan->parent->children = orphan->next;
+  if (parent && orphan == parent->children)
+    parent->children = orphan->next;
   if (orphan->prev)
     orphan->prev->next = orphan->next;
   if (orphan->next)
diff --git a/src/util.h b/src/util.h
index 8e29fac..7760b7e 100644
--- a/src/util.h
+++ b/src/util.h
@@ -47,7 +47,8 @@ gchar *gabble_generate_id (void);
 
 void lm_message_node_add_own_nick (LmMessageNode *node,
     GabbleConnection *conn);
-void lm_message_node_unlink (LmMessageNode *orphan);
+void lm_message_node_unlink (LmMessageNode *orphan,
+    LmMessageNode *parent);
 void lm_message_node_steal_children (LmMessageNode *snatcher,
     LmMessageNode *mum);
 gboolean lm_message_node_has_namespace (LmMessageNode *node, const gchar *ns,
diff --git a/src/vcard-manager.c b/src/vcard-manager.c
index b2674df..78a84d1 100644
--- a/src/vcard-manager.c
+++ b/src/vcard-manager.c
@@ -936,7 +936,7 @@ patch_vcard_foreach (gpointer k, gpointer v, gpointer user_data)
       node = lm_message_node_get_child (vcard_node, "PHOTO");
       if (node != NULL)
         {
-          lm_message_node_unlink (node);
+          lm_message_node_unlink (node, vcard_node);
           lm_message_node_unref (node);
         }
 
-- 
1.5.6.5



More information about the telepathy-commits mailing list