summaryrefslogtreecommitdiff
path: root/src/d_iwad.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/d_iwad.c')
-rw-r--r--src/d_iwad.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/d_iwad.c b/src/d_iwad.c
index 5cc31738..12a7ada2 100644
--- a/src/d_iwad.c
+++ b/src/d_iwad.c
@@ -422,27 +422,29 @@ static GameMission_t IdentifyIWADByName(char *name, int mask)
{
size_t i;
GameMission_t mission;
+ char *p;
+
+ p = strrchr(name, DIR_SEPARATOR);
+
+ if (p != NULL)
+ {
+ name = p + 1;
+ }
mission = none;
for (i=0; i<arrlen(iwads); ++i)
{
- char *iwadname;
+ // Check if the filename is this IWAD name.
// Only use supported missions:
if (((1 << iwads[i].mission) & mask) == 0)
continue;
- iwadname = DEH_String(iwads[i].name);
-
- if (strlen(name) < strlen(iwadname))
- continue;
-
// Check if it ends in this IWAD name.
- if (!strcasecmp(name + strlen(name) - strlen(iwadname),
- iwadname))
+ if (!strcasecmp(name, iwadname))
{
mission = iwads[i].mission;
break;