From 541267071a118fe5cc702632fdba5817e27b6f76 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Thu, 8 May 2014 22:27:18 -0400 Subject: music: Allow / separators in substitute filenames. For substitute music files we want to be able to specify relative paths in a platform-independent way using Unix path separators. Replace Unix-style / separators in the path that was read with the path separator for the native system. --- src/i_sdlmusic.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; } -- cgit v1.2.3