X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=929ce3348b305dee810dcb66aab779fb13c73b7f;hb=1ae6433828b1881d7810082472c72dfb3372a061;hp=8c268a7ba8a485fc4ca8da2fcaf87263d32fd51b;hpb=8c3a8e72f2bebc6a732f11cac24a4f3ca21dd730;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 8c268a7b..929ce334 100644 --- a/src/files.c +++ b/src/files.c @@ -2011,6 +2011,13 @@ void LoadTape(int level_nr) LoadTapeFromFilename(filename); } +void LoadSolutionTape(int level_nr) +{ + char *filename = getSolutionTapeFilename(level_nr); + + LoadTapeFromFilename(filename); +} + static void SaveTape_VERS(FILE *file, struct TapeInfo *tape) { putFileVersion(file, tape->file_version); @@ -2909,10 +2916,10 @@ static struct MusicFileInfo *get_music_file_info_ext(char *basename, int music, char *value = getHashEntry(setup_file_hash, token_to_value_ptr[i].token); *token_to_value_ptr[i].value_ptr = - getStringCopy(value != NULL ? value : UNKNOWN_NAME); + getStringCopy(value != NULL && *value != '\0' ? value : UNKNOWN_NAME); } - tmp_music_file_info.basename = basename; + tmp_music_file_info.basename = getStringCopy(basename); tmp_music_file_info.music = music; tmp_music_file_info.is_sound = is_sound; @@ -2968,23 +2975,17 @@ void LoadMusicInfo() { next = music_file_info->next; - if (music_file_info->title_header) - free(music_file_info->title_header); - if (music_file_info->artist_header) - free(music_file_info->artist_header); - if (music_file_info->album_header) - free(music_file_info->album_header); - if (music_file_info->year_header) - free(music_file_info->year_header); - - if (music_file_info->title) - free(music_file_info->title); - if (music_file_info->artist) - free(music_file_info->artist); - if (music_file_info->album) - free(music_file_info->album); - if (music_file_info->year) - free(music_file_info->year); + checked_free(music_file_info->basename); + + checked_free(music_file_info->title_header); + checked_free(music_file_info->artist_header); + checked_free(music_file_info->album_header); + checked_free(music_file_info->year_header); + + checked_free(music_file_info->title); + checked_free(music_file_info->artist); + checked_free(music_file_info->album); + checked_free(music_file_info->year); free(music_file_info);