Merge pull request #11372 from JosJuice/m3u-backslash

Boot: Fix handling of M3U file paths containing backslashes
This commit is contained in:
Admiral H. Curtiss 2022-12-29 17:09:38 +01:00 committed by GitHub
commit c20bb01b47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 0 deletions

View File

@ -205,6 +205,9 @@ std::unique_ptr<BootParameters> BootParameters::GenerateFromFile(std::vector<std
{ {
ASSERT(!paths.empty()); ASSERT(!paths.empty());
for (std::string& path : paths)
UnifyPathSeparators(path);
const bool is_drive = Common::IsCDROMDevice(paths.front()); const bool is_drive = Common::IsCDROMDevice(paths.front());
// Check if the file exist, we may have gotten it from a --elf command line // Check if the file exist, we may have gotten it from a --elf command line
// that gave an incorrect file name // that gave an incorrect file name
@ -225,6 +228,9 @@ std::unique_ptr<BootParameters> BootParameters::GenerateFromFile(std::vector<std
if (paths.empty()) if (paths.empty())
return {}; return {};
for (std::string& path : paths)
UnifyPathSeparators(path);
SplitPath(paths.front(), nullptr, nullptr, &extension); SplitPath(paths.front(), nullptr, nullptr, &extension);
Common::ToLower(&extension); Common::ToLower(&extension);
} }