From 7ad3046f670192b40a4004e0428208dd6739cf0d Mon Sep 17 00:00:00 2001
From: Archez <archez39@me.com>
Date: Mon, 11 Nov 2024 17:43:06 -0500
Subject: [PATCH] Fix linux auto rom detection for built-in extractor

---
 mm/2s2h/Extractor/Extract.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/mm/2s2h/Extractor/Extract.cpp b/mm/2s2h/Extractor/Extract.cpp
index 1b6b237383..3da5859b2b 100644
--- a/mm/2s2h/Extractor/Extract.cpp
+++ b/mm/2s2h/Extractor/Extract.cpp
@@ -215,14 +215,18 @@ void Extractor::GetRoms(std::vector<std::string>& roms) {
         while ((dir = readdir(d)) != NULL) {
             struct stat path;
 
+            auto fullPath = std::filesystem::path(mSearchPath) / dir->d_name;
+            auto fullPathString = fullPath.string();
+            const char* fullPathCStr = fullPathString.c_str();
+
             // Check if current entry is not folder
-            stat(dir->d_name, &path);
+            stat(fullPathCStr, &path);
             if (S_ISREG(path.st_mode)) {
 
                 // Get the position of the extension character.
                 char* ext = strrchr(dir->d_name, '.');
                 if (ext != NULL && (strcmp(ext, ".z64") == 0 || strcmp(ext, ".n64") == 0 || strcmp(ext, ".v64") == 0)) {
-                    roms.push_back(dir->d_name);
+                    roms.push_back(fullPathCStr);
                 }
             }
         }