/* see discussion on gtk-list@gnome.org ... the g_list_free_1 function is an optimization of calling xml_g_list_delete_link (list,list) which is essentially xml_g_list_delete_head which then again has no equivalent within the glib world and in all other respects it is appraised that free_1 should only be called on nodes that are unlinked anyway where in fact it often isn't. Well, here we call it "free_head" - it returns a list where the new head may have a invalid nonnull ->prev. Handle with care. */
xml_GList* xml_g_list_free_head (xml_GList* list)
{ # if 0 return xml_g_list_delete_link (list, list);# else register xml_GList* tail = list; if (tail)
{ tail = tail->next; xml_g_list_free_1 (list); }
return tail;# endif}
/* Local variables: c-file-style: "stroustrup" End: */