summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Laban <david.laban@collabora.co.uk>2011-05-23 15:53:19 -0400
committerDavid Laban <david.laban@collabora.co.uk>2011-05-24 11:07:27 -0400
commit926c91aa8545460e04a4726762f93bb4a85451aa (patch)
tree664114b5d49376b9f11e14a5058509808bae60e6
parent275e50a2774363161743a75f02d8d2e44f471373 (diff)
downloadtelepathy-logger-926c91aa8545460e04a4726762f93bb4a85451aa.tar.gz
text-event: s/dup_supersedes/get_supersedes/
Copying and freeing lists of events is a waste of time. Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-rw-r--r--telepathy-logger/text-event.c18
-rw-r--r--telepathy-logger/text-event.h2
-rw-r--r--tests/dbus/test-tpl-log-store-xml.c16
3 files changed, 11 insertions, 25 deletions
diff --git a/telepathy-logger/text-event.c b/telepathy-logger/text-event.c
index f4f9c00..0047bf5 100644
--- a/telepathy-logger/text-event.c
+++ b/telepathy-logger/text-event.c
@@ -345,24 +345,16 @@ _tpl_text_event_add_supersedes (TplTextEvent *self,
/**
- * tpl_text_event_dup_supersedes
+ * tpl_text_event_get_supersedes
* @self: a #TplTextEvent
*
- * Returns: (transfer full): A #GList of #TplTextEvent that this event
- * supersedes. Should be freed using
- * g_list_foreach (l, g_object_unref, NULL); g_list_free (l).
+ * Returns: (transfer none): A #GList of #TplTextEvent that this event
+ * supersedes.
*/
GList *
-tpl_text_event_dup_supersedes (TplTextEvent *self)
+tpl_text_event_get_supersedes (TplTextEvent *self)
{
- GList *supersedes = NULL;
- GList *l;
-
- /* Iterate backwards to copy quickly (thanks GList) */
- for (l = self->priv->supersedes.tail; l != NULL; l = g_list_previous (l))
- supersedes = g_list_prepend (supersedes, g_object_ref (l->data));
-
- return supersedes;
+ return self->priv->supersedes.head;
}
diff --git a/telepathy-logger/text-event.h b/telepathy-logger/text-event.h
index f5ee64a..160c450 100644
--- a/telepathy-logger/text-event.h
+++ b/telepathy-logger/text-event.h
@@ -45,7 +45,7 @@ const gchar *tpl_text_event_get_message (TplTextEvent *self);
const gchar *tpl_text_event_get_message_token (TplTextEvent *self);
const gchar *tpl_text_event_get_supersedes_token (TplTextEvent *self);
-GList *tpl_text_event_dup_supersedes (TplTextEvent *self);
+GList *tpl_text_event_get_supersedes (TplTextEvent *self);
G_END_DECLS
#endif // __TPL_TEXT_EVENT_H__
diff --git a/tests/dbus/test-tpl-log-store-xml.c b/tests/dbus/test-tpl-log-store-xml.c
index 89d5fe1..0e58536 100644
--- a/tests/dbus/test-tpl-log-store-xml.c
+++ b/tests/dbus/test-tpl-log-store-xml.c
@@ -538,13 +538,11 @@ test_add_superseding_event (XmlTestCaseFixture *fixture,
assert_cmp_text_event (TPL_EVENT (new_event), events->data);
/* Check that the two events are linked */
- superseded = tpl_text_event_dup_supersedes (events->data);
+ superseded = tpl_text_event_get_supersedes (events->data);
g_assert (superseded != NULL);
assert_cmp_text_event (event, superseded->data);
- g_assert (tpl_text_event_dup_supersedes (superseded->data) == NULL);
+ g_assert (tpl_text_event_get_supersedes (superseded->data) == NULL);
- g_list_foreach (superseded, (GFunc) g_object_unref, NULL);
- g_list_free (superseded);
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);
@@ -570,15 +568,13 @@ test_add_superseding_event (XmlTestCaseFixture *fixture,
assert_cmp_text_event (TPL_EVENT (new_new_event), events->data);
/* Check that the three events are linked */
- superseded = tpl_text_event_dup_supersedes (events->data);
+ superseded = tpl_text_event_get_supersedes (events->data);
g_assert (superseded != NULL);
assert_cmp_text_event (TPL_EVENT (new_event), superseded->data);
g_assert (superseded->next != NULL);
assert_cmp_text_event (event, superseded->next->data);
- g_assert (tpl_text_event_dup_supersedes (superseded->next->data) == NULL);
+ g_assert (tpl_text_event_get_supersedes (superseded->next->data) == NULL);
- g_list_foreach (superseded, (GFunc) g_object_unref, NULL);
- g_list_free (superseded);
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);
@@ -614,12 +610,10 @@ test_add_superseding_event (XmlTestCaseFixture *fixture,
/* Check that the events are not linked (and a dummy was inserted instead)
* because the timestamp was wrong. */
- superseded = tpl_text_event_dup_supersedes (events->data);
+ superseded = tpl_text_event_get_supersedes (events->data);
g_assert (superseded != NULL);
g_assert_cmpstr (tpl_text_event_get_message (superseded->data), ==, "");
- g_list_foreach (superseded, (GFunc) g_object_unref, NULL);
- g_list_free (superseded);
g_list_foreach (events, (GFunc) g_object_unref, NULL);
g_list_free (events);