diff options
Diffstat (limited to 'src/core/loader/loader.cpp')
| -rw-r--r-- | src/core/loader/loader.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 365f5a277..ce1154b79 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -26,21 +26,23 @@ FileType IdentifyFile(const std::string &filename) { | |||
| 26 | ERROR_LOG(LOADER, "invalid filename %s", filename.c_str()); | 26 | ERROR_LOG(LOADER, "invalid filename %s", filename.c_str()); |
| 27 | return FileType::Error; | 27 | return FileType::Error; |
| 28 | } | 28 | } |
| 29 | std::string extension = filename.size() >= 5 ? filename.substr(filename.size() - 4) : ""; | ||
| 30 | 29 | ||
| 31 | if (!strcasecmp(extension.c_str(), ".elf")) { | 30 | size_t extension_loc = filename.find_last_of('.'); |
| 31 | std::string extension = extension_loc != std::string::npos ? filename.substr(extension_loc) : ""; | ||
| 32 | |||
| 33 | if (LowerStr(extension) == ".elf") { | ||
| 32 | return FileType::ELF; // TODO(bunnei): Do some filetype checking :p | 34 | return FileType::ELF; // TODO(bunnei): Do some filetype checking :p |
| 33 | } | 35 | } |
| 34 | else if (!strcasecmp(extension.c_str(), ".axf")) { | 36 | else if (LowerStr(extension) == ".axf") { |
| 35 | return FileType::ELF; // TODO(bunnei): Do some filetype checking :p | 37 | return FileType::ELF; // TODO(bunnei): Do some filetype checking :p |
| 36 | } | 38 | } |
| 37 | else if (!strcasecmp(extension.c_str(), ".cxi")) { | 39 | else if (LowerStr(extension) == ".cxi") { |
| 38 | return FileType::CXI; // TODO(bunnei): Do some filetype checking :p | 40 | return FileType::CXI; // TODO(bunnei): Do some filetype checking :p |
| 39 | } | 41 | } |
| 40 | else if (!strcasecmp(extension.c_str(), ".cci")) { | 42 | else if (LowerStr(extension) == ".cci") { |
| 41 | return FileType::CCI; // TODO(bunnei): Do some filetype checking :p | 43 | return FileType::CCI; // TODO(bunnei): Do some filetype checking :p |
| 42 | } | 44 | } |
| 43 | else if (!strcasecmp(extension.c_str(), ".bin")) { | 45 | else if (LowerStr(extension) == ".bin") { |
| 44 | return FileType::BIN; // TODO(bunnei): Do some filetype checking :p | 46 | return FileType::BIN; // TODO(bunnei): Do some filetype checking :p |
| 45 | } | 47 | } |
| 46 | return FileType::Unknown; | 48 | return FileType::Unknown; |