void tmx_map_free(tmx_map *map) { if (map) { free_ts(map->ts_head); free_props(map->properties); free_layers(map->ly_head); tmx_free_func(map); } }
void tmx_free(tmx_map *map) { if (*map) { free_ts((*map)->ts_head); free_props((*map)->properties); free_layers((*map)->ly_head); tmx_free_func(*map); *map = NULL; } }
static void free_ts(tmx_tileset ts) { if (ts) { free_ts(ts->next); tmx_free_func(ts->name); if (ts->image) tmx_free_func(ts->image->source); tmx_free_func(ts->image); tmx_free_func(ts); } }
static void free_ts(tmx_tileset *ts) { if (ts) { free_ts(ts->next); tmx_free_func(ts->name); free_image(ts->image); free_props(ts->properties); free_tiles(ts->tiles); tmx_free_func(ts); } }