removed storing two strings in function for level filenames
authorHolger Schemel <info@artsoft.org>
Fri, 24 Aug 2018 10:45:38 +0000 (12:45 +0200)
committerHolger Schemel <info@artsoft.org>
Fri, 24 Aug 2018 10:45:38 +0000 (12:45 +0200)
Before, the function "getLevelFilenameFromBasename()" stored two
filenames in static string pointers, one for the level filename, and one
for the corresponding level template filename, because the results were
only used as references before. As they are now stored as string copies
outside if this function, it is sufficient to only store the last result.

This change is directly related to commit 759e0bea.

src/files.c

index b590641..bc99681 100644 (file)
@@ -1935,14 +1935,13 @@ static void ActivateLevelTemplate()
 
 static char *getLevelFilenameFromBasename(char *basename)
 {
-  static char *filename[2] = { NULL, NULL };
-  int pos = (strEqual(basename, LEVELTEMPLATE_FILENAME) ? 0 : 1);
+  static char *filename = NULL;
 
-  checked_free(filename[pos]);
+  checked_free(filename);
 
-  filename[pos] = getPath2(getCurrentLevelDir(), basename);
+  filename = getPath2(getCurrentLevelDir(), basename);
 
-  return filename[pos];
+  return filename;
 }
 
 static int getFileTypeFromBasename(char *basename)