Простой способ освободить список и содержащиеся в нем данные, а затем очистить список, выглядит следующим образом:
g_list_foreach(list, g_free, NULL);
g_list_free(list);
list = NULL;
NULL
- пустой список, поэтому последняя строка очищает его, чтобы вы могли использовать его снова.
Конечно, если ваши данные должны быть освобождены какой-либо другой функцией, используйте эту функцию вместо g_free()
, как отмечает ShinTakezou.