--- a/loudmouth/lm-message-node.c Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-node.c Wed Oct 08 13:11:02 2008 +0200
@@ -31,8 +31,8 @@
#include "lm-message-node.h"
typedef struct {
- gchar *key;
- gchar *value;
+ gchar *key;
+ gchar *value;
} KeyValuePair;
static void message_node_free (LmMessageNode *node);
@@ -41,91 +41,91 @@
static void
message_node_free (LmMessageNode *node)
{
- LmMessageNode *l;
- GSList *list;
+ LmMessageNode *l;
+ GSList *list;
- g_return_if_fail (node != NULL);
+ g_return_if_fail (node != NULL);
- for (l = node->children; l;) {
- LmMessageNode *next = l->next;
+ for (l = node->children; l;) {
+ LmMessageNode *next = l->next;
- lm_message_node_unref (l);
- l = next;
- }
+ lm_message_node_unref (l);
+ l = next;
+ }
- g_free (node->name);
- g_free (node->value);
+ g_free (node->name);
+ g_free (node->value);
- for (list = node->attributes; list; list = list->next) {
- KeyValuePair *kvp = (KeyValuePair *) list->data;
+ for (list = node->attributes; list; list = list->next) {
+ KeyValuePair *kvp = (KeyValuePair *) list->data;
- g_free (kvp->key);
- g_free (kvp->value);
- g_free (kvp);
- }
+ g_free (kvp->key);
+ g_free (kvp->value);
+ g_free (kvp);
+ }
- g_slist_free (node->attributes);
- g_free (node);
+ g_slist_free (node->attributes);
+ g_free (node);
}
static LmMessageNode *
message_node_last_child (LmMessageNode *node)
{
- LmMessageNode *l;
+ LmMessageNode *l;
- g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (node != NULL, NULL);
- if (!node->children) {
- return NULL;
- }
+ if (!node->children) {
+ return NULL;
+ }
- l = node->children;
+ l = node->children;
- while (l->next) {
- l = l->next;
- }
+ while (l->next) {
+ l = l->next;
+ }
- return l;
+ return l;
}
LmMessageNode *
_lm_message_node_new (const gchar *name)
{
- LmMessageNode *node;
+ LmMessageNode *node;
- node = g_new0 (LmMessageNode, 1);
+ node = g_new0 (LmMessageNode, 1);
- node->name = g_strdup (name);
- node->value = NULL;
- node->raw_mode = FALSE;
- node->attributes = NULL;
- node->next = NULL;
- node->prev = NULL;
- node->parent = NULL;
- node->children = NULL;
+ node->name = g_strdup (name);
+ node->value = NULL;
+ node->raw_mode = FALSE;
+ node->attributes = NULL;
+ node->next = NULL;
+ node->prev = NULL;
+ node->parent = NULL;
+ node->children = NULL;
- node->ref_count = 1;
+ node->ref_count = 1;
- return node;
+ return node;
}
void
_lm_message_node_add_child_node (LmMessageNode *node, LmMessageNode *child)
{
- LmMessageNode *prev;
-
- g_return_if_fail (node != NULL);
+ LmMessageNode *prev;
+
+ g_return_if_fail (node != NULL);
- prev = message_node_last_child (node);
- lm_message_node_ref (child);
+ prev = message_node_last_child (node);
+ lm_message_node_ref (child);
- if (prev) {
- prev->next = child;
- child->prev = prev;
- } else {
- node->children = child;
- }
+ if (prev) {
+ prev->next = child;
+ child->prev = prev;
+ } else {
+ node->children = child;
+ }
- child->parent = node;
+ child->parent = node;
}
/**
@@ -139,9 +139,9 @@
const gchar *
lm_message_node_get_value (LmMessageNode *node)
{
- g_return_val_if_fail (node != NULL, NULL);
-
- return node->value;
+ g_return_val_if_fail (node != NULL, NULL);
+
+ return node->value;
}
/**
@@ -154,16 +154,16 @@
void
lm_message_node_set_value (LmMessageNode *node, const gchar *value)
{
- g_return_if_fail (node != NULL);
+ g_return_if_fail (node != NULL);
- g_free (node->value);
-
- if (!value) {
- node->value = NULL;
- return;
- }
+ g_free (node->value);
+
+ if (!value) {
+ node->value = NULL;
+ return;
+ }
- node->value = g_strdup (value);
+ node->value = g_strdup (value);
}
/**
@@ -178,21 +178,21 @@
**/
LmMessageNode *
lm_message_node_add_child (LmMessageNode *node,
- const gchar *name,
- const gchar *value)
+ const gchar *name,
+ const gchar *value)
{
- LmMessageNode *child;
-
- g_return_val_if_fail (node != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
+ LmMessageNode *child;
+
+ g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
- child = _lm_message_node_new (name);
+ child = _lm_message_node_new (name);
- lm_message_node_set_value (child, value);
- _lm_message_node_add_child_node (node, child);
- lm_message_node_unref (child);
+ lm_message_node_set_value (child, value);
+ _lm_message_node_add_child_node (node, child);
+ lm_message_node_unref (child);
- return child;
+ return child;
}
/**
@@ -206,25 +206,25 @@
**/
void
lm_message_node_set_attributes (LmMessageNode *node,
- const gchar *name,
- ...)
+ const gchar *name,
+ ...)
{
- va_list args;
-
- g_return_if_fail (node != NULL);
+ va_list args;
+
+ g_return_if_fail (node != NULL);
- for (va_start (args, name);
- name;
- name = (const gchar *) va_arg (args, gpointer)) {
- const gchar *value;
+ for (va_start (args, name);
+ name;
+ name = (const gchar *) va_arg (args, gpointer)) {
+ const gchar *value;
- value = (const gchar *) va_arg (args, gpointer);
+ value = (const gchar *) va_arg (args, gpointer);
- lm_message_node_set_attribute (node, name, value);
-
- }
+ lm_message_node_set_attribute (node, name, value);
+
+ }
- va_end (args);
+ va_end (args);
}
/**
@@ -237,36 +237,36 @@
**/
void
lm_message_node_set_attribute (LmMessageNode *node,
- const gchar *name,
- const gchar *value)
+ const gchar *name,
+ const gchar *value)
{
- gboolean found = FALSE;
- GSList *l;
+ gboolean found = FALSE;
+ GSList *l;
- g_return_if_fail (node != NULL);
- g_return_if_fail (name != NULL);
- g_return_if_fail (value != NULL);
+ g_return_if_fail (node != NULL);
+ g_return_if_fail (name != NULL);
+ g_return_if_fail (value != NULL);
- for (l = node->attributes; l; l = l->next) {
- KeyValuePair *kvp = (KeyValuePair *) l->data;
+ for (l = node->attributes; l; l = l->next) {
+ KeyValuePair *kvp = (KeyValuePair *) l->data;
- if (strcmp (kvp->key, name) == 0) {
- g_free (kvp->value);
- kvp->value = g_strdup (value);
- found = TRUE;
- break;
- }
- }
-
- if (!found) {
- KeyValuePair *kvp;
-
- kvp = g_new0 (KeyValuePair, 1);
- kvp->key = g_strdup (name);
- kvp->value = g_strdup (value);
-
- node->attributes = g_slist_prepend (node->attributes, kvp);
- }
+ if (strcmp (kvp->key, name) == 0) {
+ g_free (kvp->value);
+ kvp->value = g_strdup (value);
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+ KeyValuePair *kvp;
+
+ kvp = g_new0 (KeyValuePair, 1);
+ kvp->key = g_strdup (name);
+ kvp->value = g_strdup (value);
+
+ node->attributes = g_slist_prepend (node->attributes, kvp);
+ }
}
/**
@@ -281,21 +281,21 @@
const gchar *
lm_message_node_get_attribute (LmMessageNode *node, const gchar *name)
{
- GSList *l;
- const gchar *ret_val = NULL;
+ GSList *l;
+ const gchar *ret_val = NULL;
- g_return_val_if_fail (node != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
+ g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
- for (l = node->attributes; l; l = l->next) {
- KeyValuePair *kvp = (KeyValuePair *) l->data;
+ for (l = node->attributes; l; l = l->next) {
+ KeyValuePair *kvp = (KeyValuePair *) l->data;
- if (strcmp (kvp->key, name) == 0) {
- ret_val = kvp->value;
- }
+ if (strcmp (kvp->key, name) == 0) {
+ ret_val = kvp->value;
}
+ }
- return ret_val;
+ return ret_val;
}
/**
@@ -311,18 +311,18 @@
LmMessageNode *
lm_message_node_get_child (LmMessageNode *node, const gchar *child_name)
{
- LmMessageNode *l;
+ LmMessageNode *l;
- g_return_val_if_fail (node != NULL, NULL);
- g_return_val_if_fail (child_name != NULL, NULL);
+ g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (child_name != NULL, NULL);
- for (l = node->children; l; l = l->next) {
- if (strcmp (l->name, child_name) == 0) {
- return l;
- }
- }
+ for (l = node->children; l; l = l->next) {
+ if (strcmp (l->name, child_name) == 0) {
+ return l;
+ }
+ }
- return NULL;
+ return NULL;
}
/**
@@ -337,27 +337,27 @@
**/
LmMessageNode *
lm_message_node_find_child (LmMessageNode *node,
- const gchar *child_name)
+ const gchar *child_name)
{
- LmMessageNode *l;
- LmMessageNode *ret_val = NULL;
+ LmMessageNode *l;
+ LmMessageNode *ret_val = NULL;
- g_return_val_if_fail (node != NULL, NULL);
- g_return_val_if_fail (child_name != NULL, NULL);
+ g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (child_name != NULL, NULL);
- for (l = node->children; l; l = l->next) {
- if (strcmp (l->name, child_name) == 0) {
- return l;
- }
- if (l->children) {
- ret_val = lm_message_node_find_child (l, child_name);
- if (ret_val) {
- return ret_val;
- }
- }
+ for (l = node->children; l; l = l->next) {
+ if (strcmp (l->name, child_name) == 0) {
+ return l;
}
+ if (l->children) {
+ ret_val = lm_message_node_find_child (l, child_name);
+ if (ret_val) {
+ return ret_val;
+ }
+ }
+ }
- return NULL;
+ return NULL;
}
/**
@@ -371,9 +371,9 @@
gboolean
lm_message_node_get_raw_mode (LmMessageNode *node)
{
- g_return_val_if_fail (node != NULL, FALSE);
+ g_return_val_if_fail (node != NULL, FALSE);
- return node->raw_mode;
+ return node->raw_mode;
}
/**
@@ -386,9 +386,9 @@
void
lm_message_node_set_raw_mode (LmMessageNode *node, gboolean raw_mode)
{
- g_return_if_fail (node != NULL);
+ g_return_if_fail (node != NULL);
- node->raw_mode = raw_mode;
+ node->raw_mode = raw_mode;
}
/**
@@ -402,11 +402,11 @@
LmMessageNode *
lm_message_node_ref (LmMessageNode *node)
{
- g_return_val_if_fail (node != NULL, NULL);
-
- node->ref_count++;
+ g_return_val_if_fail (node != NULL, NULL);
+
+ node->ref_count++;
- return node;
+ return node;
}
/**
@@ -422,13 +422,13 @@
void
lm_message_node_unref (LmMessageNode *node)
{
- g_return_if_fail (node != NULL);
-
- node->ref_count--;
-
- if (node->ref_count == 0) {
- message_node_free (node);
- }
+ g_return_if_fail (node != NULL);
+
+ node->ref_count--;
+
+ if (node->ref_count == 0) {
+ message_node_free (node);
+ }
}
/**
@@ -444,58 +444,58 @@
gchar *
lm_message_node_to_string (LmMessageNode *node)
{
- GString *ret;
- GSList *l;
- LmMessageNode *child;
+ GString *ret;
+ GSList *l;
+ LmMessageNode *child;
- g_return_val_if_fail (node != NULL, NULL);
-
- if (node->name == NULL) {
- return g_strdup ("");
- }
-
- ret = g_string_new ("<");
- g_string_append (ret, node->name);
-
- for (l = node->attributes; l; l = l->next) {
- KeyValuePair *kvp = (KeyValuePair *) l->data;
+ g_return_val_if_fail (node != NULL, NULL);
+
+ if (node->name == NULL) {
+ return g_strdup ("");
+ }
+
+ ret = g_string_new ("<");
+ g_string_append (ret, node->name);
+
+ for (l = node->attributes; l; l = l->next) {
+ KeyValuePair *kvp = (KeyValuePair *) l->data;
- if (node->raw_mode == FALSE) {
- gchar *escaped;
+ if (node->raw_mode == FALSE) {
+ gchar *escaped;
- escaped = g_markup_escape_text (kvp->value, -1);
- g_string_append_printf (ret, " %s=\"%s\"",
- kvp->key, escaped);
- g_free (escaped);
- } else {
- g_string_append_printf (ret, " %s=\"%s\"",
- kvp->key, kvp->value);
- }
-
- }
-
- g_string_append_c (ret, '>');
-
- if (node->value) {
- gchar *tmp;
+ escaped = g_markup_escape_text (kvp->value, -1);
+ g_string_append_printf (ret, " %s=\"%s\"",
+ kvp->key, escaped);
+ g_free (escaped);
+ } else {
+ g_string_append_printf (ret, " %s=\"%s\"",
+ kvp->key, kvp->value);
+ }
+
+ }
+
+ g_string_append_c (ret, '>');
+
+ if (node->value) {
+ gchar *tmp;
- if (node->raw_mode == FALSE) {
- tmp = g_markup_escape_text (node->value, -1);
- g_string_append (ret, tmp);
- g_free (tmp);
- } else {
- g_string_append (ret, node->value);
- }
- }
+ if (node->raw_mode == FALSE) {
+ tmp = g_markup_escape_text (node->value, -1);
+ g_string_append (ret, tmp);
+ g_free (tmp);
+ } else {
+ g_string_append (ret, node->value);
+ }
+ }
- for (child = node->children; child; child = child->next) {
- gchar *child_str = lm_message_node_to_string (child);
- g_string_append_c (ret, ' ');
- g_string_append (ret, child_str);
- g_free (child_str);
- }
+ for (child = node->children; child; child = child->next) {
+ gchar *child_str = lm_message_node_to_string (child);
+ g_string_append_c (ret, ' ');
+ g_string_append (ret, child_str);
+ g_free (child_str);
+ }
- g_string_append_printf (ret, "</%s>\n", node->name);
-
- return g_string_free (ret, FALSE);
+ g_string_append_printf (ret, "</%s>\n", node->name);
+
+ return g_string_free (ret, FALSE);
}