summaryrefslogtreecommitdiff
path: root/src/core/loader/loader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader/loader.cpp')
-rw-r--r--src/core/loader/loader.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp
index 5cbb26f54..577a2297a 100644
--- a/src/core/loader/loader.cpp
+++ b/src/core/loader/loader.cpp
@@ -25,22 +25,23 @@ FileType IdentifyFile(const std::string &filename) {
25 ERROR_LOG(LOADER, "invalid filename %s", filename.c_str()); 25 ERROR_LOG(LOADER, "invalid filename %s", filename.c_str());
26 return FileType::Error; 26 return FileType::Error;
27 } 27 }
28 std::string extension = filename.size() >= 5 ? filename.substr(filename.size() - 4) : "";
29 28
30 if (!strcasecmp(extension.c_str(), ".elf")) { 29 size_t extension_loc = filename.find_last_of('.');
31 return FileType::ELF; // TODO(bunnei): Do some filetype checking :p 30 if (extension_loc == std::string::npos)
32 } 31 return FileType::Unknown;
33 else if (!strcasecmp(extension.c_str(), ".axf")) { 32 std::string extension = Common::ToLower(filename.substr(extension_loc));
34 return FileType::ELF; // TODO(bunnei): Do some filetype checking :p 33
35 } 34 // TODO(bunnei): Do actual filetype checking instead of naively checking the extension
36 else if (!strcasecmp(extension.c_str(), ".cxi")) { 35 if (extension == ".elf") {
37 return FileType::CXI; // TODO(bunnei): Do some filetype checking :p 36 return FileType::ELF;
38 } 37 } else if (extension == ".axf") {
39 else if (!strcasecmp(extension.c_str(), ".cci")) { 38 return FileType::ELF;
40 return FileType::CCI; // TODO(bunnei): Do some filetype checking :p 39 } else if (extension == ".cxi") {
41 } 40 return FileType::CXI;
42 else if (!strcasecmp(extension.c_str(), ".bin")) { 41 } else if (extension == ".cci") {
43 return FileType::BIN; // TODO(bunnei): Do some filetype checking :p 42 return FileType::CCI;
43 } else if (extension == ".bin") {
44 return FileType::BIN;
44 } 45 }
45 return FileType::Unknown; 46 return FileType::Unknown;
46} 47}