[telepathy-gabble/master] caps-hash.c: use node iteration wrappers
Dafydd Harries
daf at rhydd.org
Mon Jun 29 06:58:29 PDT 2009
---
src/caps-hash.c | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/caps-hash.c b/src/caps-hash.c
index ca5a037..b99c59b 100644
--- a/src/caps-hash.c
+++ b/src/caps-hash.c
@@ -196,19 +196,17 @@ caps_hash_compute (
static DataForm *
_parse_dataform (LmMessageNode *node)
{
- LmMessageNode *field_node;
DataForm *form;
+ NodeIter i;
form = g_slice_new0 (DataForm);
form->form_type = NULL;
form->fields = g_ptr_array_new ();
- for (field_node = node->children;
- NULL != field_node;
- field_node = field_node->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
+ LmMessageNode *field_node = node_iter_data (i);
const gchar *var;
- LmMessageNode *value_node;
if (! g_str_equal (field_node->name, "field"))
continue;
@@ -220,10 +218,11 @@ _parse_dataform (LmMessageNode *node)
if (g_str_equal (var, "FORM_TYPE"))
{
- for (value_node = field_node->children;
- NULL != value_node;
- value_node = value_node->next)
+ NodeIter j;
+
+ for (j = node_iter (field_node); j; j = node_iter_next (j))
{
+ LmMessageNode *value_node = node_iter_data (j);
const gchar *content;
if (tp_strdiff (value_node->name, "value"))
@@ -241,15 +240,15 @@ _parse_dataform (LmMessageNode *node)
else
{
DataFormField *field = NULL;
+ NodeIter j;
field = g_slice_new0 (DataFormField);
field->values = g_ptr_array_new ();
field->field_name = g_strdup (var);
- for (value_node = field_node->children;
- NULL != value_node;
- value_node = value_node->next)
+ for (j = node_iter (field_node); j; j = node_iter_next (j))
{
+ LmMessageNode *value_node = node_iter_data (j);
const gchar *content;
if (tp_strdiff (value_node->name, "value"))
@@ -282,11 +281,13 @@ caps_hash_compute_from_lm_node (LmMessageNode *node)
GPtrArray *features = g_ptr_array_new ();
GPtrArray *identities = g_ptr_array_new ();
GPtrArray *dataforms = g_ptr_array_new ();
- LmMessageNode *child;
gchar *str;
+ NodeIter i;
- for (child = node->children; NULL != child; child = child->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
+ LmMessageNode *child = node_iter_data (i);
+
if (g_str_equal (child->name, "identity"))
{
const gchar *category;
--
1.5.6.5
More information about the telepathy-commits
mailing list