diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index e7ffb6bd1..4110e67b4 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp | |||
| @@ -193,13 +193,14 @@ private: | |||
| 193 | template <typename T> | 193 | template <typename T> |
| 194 | static void BuildEntryIndex(std::vector<FileSys::Entry>& entries, const std::vector<T>& new_data, | 194 | static void BuildEntryIndex(std::vector<FileSys::Entry>& entries, const std::vector<T>& new_data, |
| 195 | FileSys::EntryType type) { | 195 | FileSys::EntryType type) { |
| 196 | entries.reserve(entries.size() + new_data.size()); | ||
| 197 | |||
| 196 | for (const auto& new_entry : new_data) { | 198 | for (const auto& new_entry : new_data) { |
| 197 | FileSys::Entry entry; | 199 | auto& entry = entries.emplace_back(); |
| 198 | entry.filename[0] = '\0'; | 200 | entry.filename[0] = '\0'; |
| 199 | std::strncat(entry.filename, new_entry->GetName().c_str(), FileSys::FILENAME_LENGTH - 1); | 201 | std::strncat(entry.filename, new_entry->GetName().c_str(), FileSys::FILENAME_LENGTH - 1); |
| 200 | entry.type = type; | 202 | entry.type = type; |
| 201 | entry.file_size = new_entry->GetSize(); | 203 | entry.file_size = new_entry->GetSize(); |
| 202 | entries.emplace_back(std::move(entry)); | ||
| 203 | } | 204 | } |
| 204 | } | 205 | } |
| 205 | 206 | ||