提交 5c7e3e9f 编写于 作者: M Marc-André Lureau

glib-compat: add g_(s)list_free_full()

Those functions are only available since glib 2.28.
Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
上级 1e271338
......@@ -280,4 +280,28 @@ static inline void g_hash_table_add(GHashTable *hash_table, gpointer key)
} while (0)
#endif
#if !GLIB_CHECK_VERSION(2, 28, 0)
static inline void g_list_free_full(GList *list, GDestroyNotify free_func)
{
GList *l;
for (l = list; l; l = l->next) {
free_func(l->data);
}
g_list_free(list);
}
static inline void g_slist_free_full(GSList *list, GDestroyNotify free_func)
{
GSList *l;
for (l = list; l; l = l->next) {
free_func(l->data);
}
g_slist_free(list);
}
#endif
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册