rnd-20031215-1-src
[rocksndiamonds.git] / src / files.c
index b7d62ce76da659b01723a6b5ae4397b95566d63c..d1bb0144d71f2b82d59a67ea87356d8e17fafd7d 100644 (file)
@@ -2916,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;
 
@@ -2975,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);
 
@@ -3046,6 +3040,7 @@ void LoadMusicInfo()
     boolean music_already_used = FALSE;
     int i;
 
+    /* skip all music files that are configured in music config file */
     for (i = 0; i < num_music; i++)
     {
       music = getMusicListEntry(i);