diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/file_sys/fsmitm_romfsbuild.cpp | 4 | ||||
| -rw-r--r-- | src/core/file_sys/fsmitm_romfsbuild.h | 2 | ||||
| -rw-r--r-- | src/core/file_sys/vfs_concat.cpp | 8 | ||||
| -rw-r--r-- | src/core/file_sys/vfs_concat.h | 6 |
4 files changed, 10 insertions, 10 deletions
diff --git a/src/core/file_sys/fsmitm_romfsbuild.cpp b/src/core/file_sys/fsmitm_romfsbuild.cpp index d126ae8dd..2aff2708a 100644 --- a/src/core/file_sys/fsmitm_romfsbuild.cpp +++ b/src/core/file_sys/fsmitm_romfsbuild.cpp | |||
| @@ -240,7 +240,7 @@ RomFSBuildContext::RomFSBuildContext(VirtualDir base_, VirtualDir ext_) | |||
| 240 | 240 | ||
| 241 | RomFSBuildContext::~RomFSBuildContext() = default; | 241 | RomFSBuildContext::~RomFSBuildContext() = default; |
| 242 | 242 | ||
| 243 | std::map<u64, VirtualFile> RomFSBuildContext::Build() { | 243 | std::multimap<u64, VirtualFile> RomFSBuildContext::Build() { |
| 244 | const u64 dir_hash_table_entry_count = romfs_get_hash_table_count(num_dirs); | 244 | const u64 dir_hash_table_entry_count = romfs_get_hash_table_count(num_dirs); |
| 245 | const u64 file_hash_table_entry_count = romfs_get_hash_table_count(num_files); | 245 | const u64 file_hash_table_entry_count = romfs_get_hash_table_count(num_files); |
| 246 | dir_hash_table_size = 4 * dir_hash_table_entry_count; | 246 | dir_hash_table_size = 4 * dir_hash_table_entry_count; |
| @@ -294,7 +294,7 @@ std::map<u64, VirtualFile> RomFSBuildContext::Build() { | |||
| 294 | cur_dir->parent->child = cur_dir; | 294 | cur_dir->parent->child = cur_dir; |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | std::map<u64, VirtualFile> out; | 297 | std::multimap<u64, VirtualFile> out; |
| 298 | 298 | ||
| 299 | // Populate file tables. | 299 | // Populate file tables. |
| 300 | for (const auto& it : files) { | 300 | for (const auto& it : files) { |
diff --git a/src/core/file_sys/fsmitm_romfsbuild.h b/src/core/file_sys/fsmitm_romfsbuild.h index a62502193..049de180b 100644 --- a/src/core/file_sys/fsmitm_romfsbuild.h +++ b/src/core/file_sys/fsmitm_romfsbuild.h | |||
| @@ -43,7 +43,7 @@ public: | |||
| 43 | ~RomFSBuildContext(); | 43 | ~RomFSBuildContext(); |
| 44 | 44 | ||
| 45 | // This finalizes the context. | 45 | // This finalizes the context. |
| 46 | std::map<u64, VirtualFile> Build(); | 46 | std::multimap<u64, VirtualFile> Build(); |
| 47 | 47 | ||
| 48 | private: | 48 | private: |
| 49 | VirtualDir base; | 49 | VirtualDir base; |
diff --git a/src/core/file_sys/vfs_concat.cpp b/src/core/file_sys/vfs_concat.cpp index 16d801c0c..e0ff70174 100644 --- a/src/core/file_sys/vfs_concat.cpp +++ b/src/core/file_sys/vfs_concat.cpp | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | namespace FileSys { | 12 | namespace FileSys { |
| 13 | 13 | ||
| 14 | static bool VerifyConcatenationMapContinuity(const std::map<u64, VirtualFile>& map) { | 14 | static bool VerifyConcatenationMapContinuity(const std::multimap<u64, VirtualFile>& map) { |
| 15 | const auto last_valid = --map.end(); | 15 | const auto last_valid = --map.end(); |
| 16 | for (auto iter = map.begin(); iter != last_valid;) { | 16 | for (auto iter = map.begin(); iter != last_valid;) { |
| 17 | const auto old = iter++; | 17 | const auto old = iter++; |
| @@ -27,12 +27,12 @@ ConcatenatedVfsFile::ConcatenatedVfsFile(std::vector<VirtualFile> files_, std::s | |||
| 27 | : name(std::move(name)) { | 27 | : name(std::move(name)) { |
| 28 | std::size_t next_offset = 0; | 28 | std::size_t next_offset = 0; |
| 29 | for (const auto& file : files_) { | 29 | for (const auto& file : files_) { |
| 30 | files[next_offset] = file; | 30 | files.emplace(next_offset, file); |
| 31 | next_offset += file->GetSize(); | 31 | next_offset += file->GetSize(); |
| 32 | } | 32 | } |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | ConcatenatedVfsFile::ConcatenatedVfsFile(std::map<u64, VirtualFile> files_, std::string name) | 35 | ConcatenatedVfsFile::ConcatenatedVfsFile(std::multimap<u64, VirtualFile> files_, std::string name) |
| 36 | : files(std::move(files_)), name(std::move(name)) { | 36 | : files(std::move(files_)), name(std::move(name)) { |
| 37 | ASSERT(VerifyConcatenationMapContinuity(files)); | 37 | ASSERT(VerifyConcatenationMapContinuity(files)); |
| 38 | } | 38 | } |
| @@ -50,7 +50,7 @@ VirtualFile ConcatenatedVfsFile::MakeConcatenatedFile(std::vector<VirtualFile> f | |||
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | VirtualFile ConcatenatedVfsFile::MakeConcatenatedFile(u8 filler_byte, | 52 | VirtualFile ConcatenatedVfsFile::MakeConcatenatedFile(u8 filler_byte, |
| 53 | std::map<u64, VirtualFile> files, | 53 | std::multimap<u64, VirtualFile> files, |
| 54 | std::string name) { | 54 | std::string name) { |
| 55 | if (files.empty()) | 55 | if (files.empty()) |
| 56 | return nullptr; | 56 | return nullptr; |
diff --git a/src/core/file_sys/vfs_concat.h b/src/core/file_sys/vfs_concat.h index c90f9d5d1..7a26343c0 100644 --- a/src/core/file_sys/vfs_concat.h +++ b/src/core/file_sys/vfs_concat.h | |||
| @@ -15,7 +15,7 @@ namespace FileSys { | |||
| 15 | // read-only. | 15 | // read-only. |
| 16 | class ConcatenatedVfsFile : public VfsFile { | 16 | class ConcatenatedVfsFile : public VfsFile { |
| 17 | ConcatenatedVfsFile(std::vector<VirtualFile> files, std::string name); | 17 | ConcatenatedVfsFile(std::vector<VirtualFile> files, std::string name); |
| 18 | ConcatenatedVfsFile(std::map<u64, VirtualFile> files, std::string name); | 18 | ConcatenatedVfsFile(std::multimap<u64, VirtualFile> files, std::string name); |
| 19 | 19 | ||
| 20 | public: | 20 | public: |
| 21 | ~ConcatenatedVfsFile() override; | 21 | ~ConcatenatedVfsFile() override; |
| @@ -25,7 +25,7 @@ public: | |||
| 25 | 25 | ||
| 26 | /// Convenience function that turns a map of offsets to files into a concatenated file, filling | 26 | /// Convenience function that turns a map of offsets to files into a concatenated file, filling |
| 27 | /// gaps with a given filler byte. | 27 | /// gaps with a given filler byte. |
| 28 | static VirtualFile MakeConcatenatedFile(u8 filler_byte, std::map<u64, VirtualFile> files, | 28 | static VirtualFile MakeConcatenatedFile(u8 filler_byte, std::multimap<u64, VirtualFile> files, |
| 29 | std::string name); | 29 | std::string name); |
| 30 | 30 | ||
| 31 | std::string GetName() const override; | 31 | std::string GetName() const override; |
| @@ -40,7 +40,7 @@ public: | |||
| 40 | 40 | ||
| 41 | private: | 41 | private: |
| 42 | // Maps starting offset to file -- more efficient. | 42 | // Maps starting offset to file -- more efficient. |
| 43 | std::map<u64, VirtualFile> files; | 43 | std::multimap<u64, VirtualFile> files; |
| 44 | std::string name; | 44 | std::string name; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||