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);
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;
{
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);