From c0a2fdfc206393e94c3ea0c778d8a34e5d80c584 Mon Sep 17 00:00:00 2001
From: Lactozilla <jp6781615@gmail.com>
Date: Tue, 16 Jan 2024 22:29:20 -0300
Subject: [PATCH] Fix M_GetFilenameFromPath to use PATHSEP Use
 W_GetFilenameFromFullname in P_LoadMapsFromFile instead

---
 src/m_misc.c  | 2 +-
 src/p_setup.c | 2 +-
 src/w_wad.c   | 8 ++++++++
 src/w_wad.h   | 2 ++
 4 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/m_misc.c b/src/m_misc.c
index 2c1c70aa72..084dc2896e 100644
--- a/src/m_misc.c
+++ b/src/m_misc.c
@@ -2389,7 +2389,7 @@ boolean M_IsStringEmpty(const char *s)
 
 const char *M_GetFilenameFromPath(const char *path)
 {
-	const char *slash = strrchr(path, '/');
+	const char *slash = strrchr(path, PATHSEP[0]);
 	if (slash)
 		return slash + 1;
 	return path;
diff --git a/src/p_setup.c b/src/p_setup.c
index b768fa589a..0e45d3c02d 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -8177,7 +8177,7 @@ void P_LoadMapsFromFile(UINT16 wadnum, boolean added_ingame)
 
 			lumpinfo = wadfiles[wadnum]->lumpinfo + LUMPNUM(lumpnum);
 
-			name = M_GetFilenameFromPath(lumpinfo->fullname); // Full lump name, with its extension
+			name = W_GetFilenameFromFullname(lumpinfo->fullname); // Full lump name, with its extension
 
 			// Extension must be .wad
 			if (!M_CheckFilenameExtension(name, "wad"))
diff --git a/src/w_wad.c b/src/w_wad.c
index e991531dc7..72ed4413be 100644
--- a/src/w_wad.c
+++ b/src/w_wad.c
@@ -1339,6 +1339,14 @@ UINT16 W_CheckNumForFolderEndPK3(const char *name, UINT16 wad, UINT16 startlump)
 	return i;
 }
 
+const char *W_GetFilenameFromFullname(const char *path)
+{
+	const char *slash = strrchr(path, '/');
+	if (slash)
+		return slash + 1;
+	return path;
+}
+
 void W_GetFolderLumpsPwad(const char *name, UINT16 wad, UINT32 **list, UINT16 *list_capacity, UINT16 *numlumps)
 {
 	size_t name_length = strlen(name);
diff --git a/src/w_wad.h b/src/w_wad.h
index 4f59c40e05..a5b5eee700 100644
--- a/src/w_wad.h
+++ b/src/w_wad.h
@@ -181,6 +181,8 @@ UINT16 W_CheckNumForFullNamePK3(const char *name, UINT16 wad, UINT16 startlump);
 UINT16 W_CheckNumForFolderStartPK3(const char *name, UINT16 wad, UINT16 startlump);
 UINT16 W_CheckNumForFolderEndPK3(const char *name, UINT16 wad, UINT16 startlump);
 
+const char *W_GetFilenameFromFullname(const char *path);
+
 void W_GetFolderLumpsPwad(const char *name, UINT16 wad, UINT32 **list, UINT16 *list_capacity, UINT16 *numlumps);
 void W_GetFolderLumps(const char *name, UINT32 **list, UINT16 *list_capacity, UINT16 *numlumps);
 
-- 
GitLab