for (GList *cur = list; cur; cur = cur->next)
while (cur->next && g_str_equal(cur->data,cur->next->data)) {
GList *tmp = cur->next;
for (GList *cur = list; cur; cur = cur->next)
while (cur->next && g_str_equal(cur->data,cur->next->data)) {
GList *tmp = cur->next;