예제 #1
0
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);
    }
}
예제 #2
0
static void
remote_destroy (GtkWidget *window)
{
  local_destroy (window);
  gtk_main_quit ();
}