summaryrefslogtreecommitdiff
path: root/src/core/loader/loader.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2018-01-20 14:55:54 -0500
committerGravatar bunnei2018-01-20 14:59:44 -0500
commit023aef053c96c92c9ea15d067f7d2cb7150585d6 (patch)
tree6b8a4c0dc9aae92ff172a2715969b8551e9d14b1 /src/core/loader/loader.cpp
parentnso: Remove code specific to directory loading. (diff)
downloadyuzu-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.cpp10
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
24FileType IdentifyFile(FileUtil::IOFile& file) { 24FileType 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
51FileType GuessFromExtension(const std::string& extension_) { 51FileType 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) {