From 96bc008c72809c9d0fdf7952de9d17c2689b4355 Mon Sep 17 00:00:00 2001 From: Kp Date: Wed, 18 Dec 2013 23:35:06 +0000 Subject: [PATCH] Fix audio file matching broken by cb4fd7c1b4 --- similar/main/songs.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/similar/main/songs.cpp b/similar/main/songs.cpp index c89715386..525173a81 100644 --- a/similar/main/songs.cpp +++ b/similar/main/songs.cpp @@ -115,17 +115,21 @@ static void songs_init() memset(BIMSongs[i].filename, '\0', sizeof(BIMSongs[i].filename)); sscanf( inputline, "%15s", BIMSongs[i].filename ); - if (strrchr(BIMSongs[i].filename, '.')) - if (!d_stricmp(strrchr(BIMSongs[i].filename, '.'), SONG_EXT_HMP) + const char *dot = strrchr(BIMSongs[i].filename, '.'); + if (dot) + { + ++ dot; + if (!d_stricmp(dot, SONG_EXT_HMP) #ifdef USE_SDLMIXER || - !d_stricmp(strrchr(BIMSongs[i].filename, '.'), SONG_EXT_MID) || - !d_stricmp(strrchr(BIMSongs[i].filename, '.'), SONG_EXT_OGG) || - !d_stricmp(strrchr(BIMSongs[i].filename, '.'), SONG_EXT_FLAC) || - !d_stricmp(strrchr(BIMSongs[i].filename, '.'), SONG_EXT_MP3) + !d_stricmp(dot, SONG_EXT_MID) || + !d_stricmp(dot, SONG_EXT_OGG) || + !d_stricmp(dot, SONG_EXT_FLAC) || + !d_stricmp(dot, SONG_EXT_MP3) #endif ) i++; + } } } #if defined(DXX_BUILD_DESCENT_I) @@ -322,6 +326,7 @@ int songs_play_file(const char *filename, int repeat, void (*hook_finished_track if (fptr == NULL) return 0; + ++ fptr; if (!d_stricmp(fptr, SONG_EXT_HMP)) { #if defined(_WIN32)