X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_caveset.c;h=deb46a24793e8743d280cd3eb5a7bfe6b3d222f3;hb=4ed68b54ed9bed72d87eac4dd7b117fc4b8022d6;hp=af02d741f52847cf56ed2bec6211371573f3c6fa;hpb=93a37840d8ff4a84fc878f148e3abfeecb701821;p=rocksndiamonds.git diff --git a/src/game_bd/bd_caveset.c b/src/game_bd/bd_caveset.c index af02d741..deb46a24 100644 --- a/src/game_bd/bd_caveset.c +++ b/src/game_bd/bd_caveset.c @@ -87,6 +87,8 @@ GdCavesetData *gd_caveset_data_new(void) gd_struct_set_defaults_from_array(data, gd_caveset_properties, caveset_defaults); + data->levelset_subdir = getStringCopy(leveldir_current->subdir); + return data; } @@ -99,7 +101,9 @@ void gd_caveset_data_free(GdCavesetData *data) if (gd_caveset_properties[i].type == GD_TYPE_LONGSTRING) checked_free(STRUCT_MEMBER(char *, data, gd_caveset_properties[i].offset)); - free(data); + checked_free(data->levelset_subdir); + + checked_free(data); } // ============================================================================ @@ -118,7 +122,7 @@ void gd_caveset_clear(void) if (gd_caveset_data) { - free(gd_caveset_data); + gd_caveset_data_free(gd_caveset_data); gd_caveset_data = NULL; }