[telepathy-gabble/master] disco.c: port to node iteration wrappers

Dafydd Harries daf at rhydd.org
Mon Jun 29 06:58:28 PDT 2009


---
 src/disco.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/disco.c b/src/disco.c
index 248faef..f9e66fd 100644
--- a/src/disco.c
+++ b/src/disco.c
@@ -567,10 +567,11 @@ item_info_cb (GabbleDisco *disco,
               GError *error,
               gpointer user_data)
 {
-  LmMessageNode *identity, *feature, *field, *value_node;
+  LmMessageNode *identity, *value_node;
   const char *category, *type, *var, *name, *value;
   GHashTable *keys;
   GabbleDiscoItem item;
+  NodeIter i;
 
   GabbleDiscoPipeline *pipeline = (GabbleDiscoPipeline *) user_data;
 
@@ -603,8 +604,10 @@ item_info_cb (GabbleDisco *disco,
 
   keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
 
-  for (feature = result->children; feature; feature = feature->next)
+  for (i = node_iter (result); i; i = node_iter_next (i))
     {
+      LmMessageNode *feature = node_iter_data (i);
+
       if (0 == strcmp (feature->name, "feature"))
         {
           var = lm_message_node_get_attribute (feature, "var");
@@ -615,9 +618,12 @@ item_info_cb (GabbleDisco *disco,
         {
           if (lm_message_node_has_namespace (feature, NS_X_DATA, NULL))
             {
-              for (field = feature->children;
-                   field; field = field->next)
+              NodeIter j;
+
+              for (j = node_iter (feature); j; j = node_iter_next (j))
                 {
+                  LmMessageNode *field = node_iter_data (j);
+
                   if (0 != strcmp (field->name, "field"))
                     continue;
 
@@ -711,10 +717,10 @@ disco_items_cb (GabbleDisco *disco,
           GError *error,
           gpointer user_data)
 {
-  LmMessageNode *iter;
   const char *item_jid;
   gpointer key, value;
   GabbleDiscoPipeline *pipeline = (GabbleDiscoPipeline *) user_data;
+  NodeIter i;
 
   pipeline->list_request = NULL;
 
@@ -724,12 +730,14 @@ disco_items_cb (GabbleDisco *disco,
       goto out;
     }
 
-  for (iter = result->children; iter; iter = iter->next)
+  for (i = node_iter (result); i; i = node_iter_next (i))
     {
-      if (0 != strcmp (iter->name, "item"))
+      LmMessageNode *item = node_iter_data (i);
+
+      if (0 != strcmp (item->name, "item"))
         continue;
 
-      item_jid = lm_message_node_get_attribute (iter, "jid");
+      item_jid = lm_message_node_get_attribute (item, "jid");
 
       if (NULL != item_jid &&
           !g_hash_table_lookup_extended (pipeline->remaining_items, item_jid,
-- 
1.5.6.5




More information about the telepathy-commits mailing list