summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/i_sdlmusic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/i_sdlmusic.c b/src/i_sdlmusic.c
index 81b28515..e7f0aacb 100644
--- a/src/i_sdlmusic.c
+++ b/src/i_sdlmusic.c
@@ -485,6 +485,11 @@ static char *GetFullPath(char *base_filename, char *path)
}
#endif
+ // Paths in the substitute filenames can contain Unix-style /
+ // path separators, but we should convert this to the separator
+ // for the native platform.
+ path = M_StringReplace(path, "/", DIR_SEPARATOR_S);
+
// Copy config filename and cut off the filename to just get the
// parent dir.
basedir = strdup(base_filename);
@@ -499,6 +504,7 @@ static char *GetFullPath(char *base_filename, char *path)
result = strdup(path);
}
free(basedir);
+ free(path);
return result;
}