void function_destroy(function_t *func) { free(func->name); for (arg_t *atmp, *arg = func->args; arg != NULL; arg=atmp) { atmp = arg->next; arg_destroy(arg); } for (local_t *ltmp, *loc = func->locals; loc != NULL; loc=ltmp) { ltmp = loc->next; local_destroy(loc); } for (temp_t *ttmp, *tmp = func->temps; tmp != NULL; tmp=ttmp) { ttmp = tmp->next; temp_destroy(tmp); } }
static void remote_destroy (GtkWidget *window) { local_destroy (window); gtk_main_quit (); }