From 619fb868853b2353720785cee4596c3a6191d202 Mon Sep 17 00:00:00 2001 From: Jakub Sitnicki Date: Mon, 7 Jul 2014 06:24:01 +0200 Subject: [PATCH] mu: Update container's pointer to last sibling when converting from a list --- lib/mu-container.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/mu-container.c b/lib/mu-container.c index a201c30c..1dd83829 100644 --- a/lib/mu-container.c +++ b/lib/mu-container.c @@ -308,17 +308,28 @@ mu_container_to_list (MuContainer *c) return lst; } +static gpointer +list_last_data (GSList *lst) +{ + GSList *tail; + + tail = g_slist_last (lst); + + return tail->data; +} static MuContainer* mu_container_from_list (GSList *lst) { - MuContainer *c, *cur; + MuContainer *c, *cur, *tail; if (!lst) return NULL; + tail = list_last_data (lst); for (c = cur = (MuContainer*)lst->data; cur; lst = g_slist_next(lst)) { cur->next = lst ? (MuContainer*)lst->data : NULL; + cur->last = tail; cur=cur->next; }