An assertion failure is better than a segfault.
void config_nodes_remove_all(CONFIG_REC *rec)
{
g_return_if_fail(rec != NULL);
+ g_return_if_fail(is_node_list(rec->mainnode));
while (rec->mainnode->value != NULL)
config_node_remove(rec, rec->mainnode, ((GSList *) rec->mainnode->value)->data);
g_return_if_fail(rec != NULL);
g_return_if_fail(parent != NULL);
+ g_return_if_fail(is_node_list(parent));
no_key = key == NULL;
node = no_key ? NULL : config_node_find(parent, key);