diff --git a/mm/2s2h/Extractor/Extract.cpp b/mm/2s2h/Extractor/Extract.cpp index 1b6b23738..3da5859b2 100644 --- a/mm/2s2h/Extractor/Extract.cpp +++ b/mm/2s2h/Extractor/Extract.cpp @@ -215,14 +215,18 @@ void Extractor::GetRoms(std::vector& 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); } } }