diff options
author | bunnei <bunneidev@gmail.com> | 2015-07-16 18:08:46 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-07-16 18:08:46 -0400 |
commit | 946f0ee2f4f5e150167ad90f86a425b50baec144 (patch) | |
tree | 47586aae7237dddc7278ef5e579cf82ad1b64e11 /src/core/loader/loader.cpp | |
parent | 0ea2319f3c371dc5dd86fbfabfe5b54392d4b664 (diff) | |
parent | 62c2a262b2992ed5f56db098b2009ec1a20480bf (diff) |
Merge pull request #918 from yuriks/romfs
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
Diffstat (limited to 'src/core/loader/loader.cpp')
-rw-r--r-- | src/core/loader/loader.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 2e450fce4..9ef2f8900 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp @@ -90,8 +90,8 @@ static const char* GetFileTypeString(FileType type) { } ResultStatus LoadFile(const std::string& filename) { - std::unique_ptr<FileUtil::IOFile> file(new FileUtil::IOFile(filename, "rb")); - if (!file->IsOpen()) { + FileUtil::IOFile file(filename, "rb"); + if (!file.IsOpen()) { LOG_ERROR(Loader, "Failed to load file %s", filename.c_str()); return ResultStatus::Error; } @@ -99,7 +99,7 @@ ResultStatus LoadFile(const std::string& filename) { std::string filename_filename, filename_extension; Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension); - FileType type = IdentifyFile(*file); + FileType type = IdentifyFile(file); FileType filename_type = GuessFromExtension(filename_extension); if (type != filename_type) { @@ -124,7 +124,7 @@ ResultStatus LoadFile(const std::string& filename) { case FileType::CXI: case FileType::CCI: { - AppLoader_NCCH app_loader(std::move(file)); + AppLoader_NCCH app_loader(std::move(file), filename); // Load application and RomFS if (ResultStatus::Success == app_loader.Load()) { |