static void destroy_folder_tree(void *root)
{
	struct message_folder *folder = root;
	GSList *tmp, *next;

	if (folder == NULL)
		return;

	g_free(folder->name);
	g_free(folder->query);

	tmp = folder->subfolders;
	while (tmp != NULL) {
		next = g_slist_next(tmp);
		destroy_folder_tree(tmp->data);
		tmp = next;
	}

	g_slist_free(folder->subfolders);
	g_free(folder);
}
void messages_exit(void)
{
	destroy_folder_tree(folder_tree);

	dbus_connection_unref(session_connection);
}
Beispiel #3
0
void messages_exit(void)
{
	destroy_folder_tree(folder_tree);
}