void free_befores(cspec_list_t * befores){ int i; int size = cspec_list_size(befores); for(i = 0; i < size; i++){ cspec_node_code_block_t * before = (cspec_node_code_block_t *)cspec_list_get(befores, i); free_base(before->base); free(before->base); free(before); } }
void free_its(cspec_list_t * its){ int i; int size = cspec_list_size(its); for(i = 0; i < size; i++){ cspec_node_code_block_t * it = (cspec_node_code_block_t *)cspec_list_get(its, i); free_base(it->base); free(it->base); free(it); } }
void free_afters(cspec_list_t * afters){ int i; int size = cspec_list_size(afters); for(i = 0; i < size; i++){ cspec_node_code_block_t * after = (cspec_node_code_block_t *)cspec_list_get(afters, i); free_base(after->base); free(after->base); free(after); } }
void free_describes(cspec_list_t * describes){ int i; int size = cspec_list_size(describes); for(i = 0; i < size; i++){ cspec_node_describe_t * describe = (cspec_node_describe_t *)cspec_list_get(describes, i); free_base(describe->base); free(describe->base); free_its(describe->its); free(describe->its); free(describe); } }
int main(int ac, char **av) { t_prog_base base; if (!test_arg(ac, av)) { my_putstr("First argument is not a number.\n", 1); return (0); } init_base(&base, ac, av); print_screen(&base); (base.difficulty != 200) ? aff_game(&base) : ia_vs_ia(&base); free_base(&base); return (0); }
static void free_base(struct sess_stat **p) { if ((*p)->next != base) free_base(&(*p)->next); free(*p); *p = NULL; }
void gt_gui_stat_destroy(void) { free_base(&base); }