diff options
| author | 2018-01-20 14:55:54 -0500 | |
|---|---|---|
| committer | 2018-01-20 14:59:44 -0500 | |
| commit | 023aef053c96c92c9ea15d067f7d2cb7150585d6 (patch) | |
| tree | 6b8a4c0dc9aae92ff172a2715969b8551e9d14b1 /src/core/loader/loader.cpp | |
| parent | nso: Remove code specific to directory loading. (diff) | |
| download | yuzu-023aef053c96c92c9ea15d067f7d2cb7150585d6.tar.gz yuzu-023aef053c96c92c9ea15d067f7d2cb7150585d6.tar.xz yuzu-023aef053c96c92c9ea15d067f7d2cb7150585d6.zip | |
loader: Refactor to also pass filepath into IdentifyType.
Diffstat (limited to 'src/core/loader/loader.cpp')
| -rw-r--r-- | src/core/loader/loader.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 92defd381..2ecccdd4f 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -21,11 +21,11 @@ const std::initializer_list<Kernel::AddressMapping> default_address_mappings = { | |||
| 21 | {0x1F000000, 0x600000, false}, // entire VRAM | 21 | {0x1F000000, 0x600000, false}, // entire VRAM |
| 22 | }; | 22 | }; |
| 23 | 23 | ||
| 24 | FileType IdentifyFile(FileUtil::IOFile& file) { | 24 | FileType IdentifyFile(FileUtil::IOFile& file, const std::string& filepath) { |
| 25 | FileType type; | 25 | FileType type; |
| 26 | 26 | ||
| 27 | #define CHECK_TYPE(loader) \ | 27 | #define CHECK_TYPE(loader) \ |
| 28 | type = AppLoader_##loader::IdentifyType(file); \ | 28 | type = AppLoader_##loader::IdentifyType(file, filepath); \ |
| 29 | if (FileType::Error != type) \ | 29 | if (FileType::Error != type) \ |
| 30 | return type; | 30 | return type; |
| 31 | 31 | ||
| @@ -45,13 +45,13 @@ FileType IdentifyFile(const std::string& file_name) { | |||
| 45 | return FileType::Unknown; | 45 | return FileType::Unknown; |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | return IdentifyFile(file); | 48 | return IdentifyFile(file, file_name); |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | FileType GuessFromExtension(const std::string& extension_) { | 51 | FileType GuessFromExtension(const std::string& extension_) { |
| 52 | std::string extension = Common::ToLower(extension_); | 52 | std::string extension = Common::ToLower(extension_); |
| 53 | 53 | ||
| 54 | if (extension == ".elf" || extension == ".axf") | 54 | if (extension == ".elf") |
| 55 | return FileType::ELF; | 55 | return FileType::ELF; |
| 56 | else if (extension == ".nro") | 56 | else if (extension == ".nro") |
| 57 | return FileType::NRO; | 57 | return FileType::NRO; |
| @@ -117,7 +117,7 @@ std::unique_ptr<AppLoader> GetLoader(const std::string& filename) { | |||
| 117 | std::string filename_filename, filename_extension; | 117 | std::string filename_filename, filename_extension; |
| 118 | Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension); | 118 | Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension); |
| 119 | 119 | ||
| 120 | FileType type = IdentifyFile(file); | 120 | FileType type = IdentifyFile(file, filename); |
| 121 | FileType filename_type = GuessFromExtension(filename_extension); | 121 | FileType filename_type = GuessFromExtension(filename_extension); |
| 122 | 122 | ||
| 123 | if (type != filename_type) { | 123 | if (type != filename_type) { |