summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/FileSystemGCWii.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/FileSystemGCWii.cpp')
-rw-r--r--Source/Core/DiscIO/FileSystemGCWii.cpp26
1 files changed, 9 insertions, 17 deletions
diff --git a/Source/Core/DiscIO/FileSystemGCWii.cpp b/Source/Core/DiscIO/FileSystemGCWii.cpp
index a264eb0ffb..ff32a4015f 100644
--- a/Source/Core/DiscIO/FileSystemGCWii.cpp
+++ b/Source/Core/DiscIO/FileSystemGCWii.cpp
@@ -307,28 +307,20 @@ size_t CFileSystemGCWii::BuildFilenames(const size_t _FirstIndex, const size_t _
while (CurrentIndex < _LastIndex)
{
- SFileInfo *rFileInfo = &m_FileInfoVector[CurrentIndex];
- u64 uOffset = _NameTableOffset + (rFileInfo->m_NameOffset & 0xFFFFFF);
- std::string filename = GetStringFromOffset(uOffset);
+ SFileInfo& rFileInfo = m_FileInfoVector[CurrentIndex];
+ u64 const uOffset = _NameTableOffset + (rFileInfo.m_NameOffset & 0xFFFFFF);
+
+ rFileInfo.m_FullPath = _szDirectory + GetStringFromOffset(uOffset);
// check next index
- if (rFileInfo->IsDirectory())
+ if (rFileInfo.IsDirectory())
{
- if (_szDirectory.empty())
- rFileInfo->m_FullPath += StringFromFormat("%s/", filename.c_str());
- else
- rFileInfo->m_FullPath += StringFromFormat("%s%s/", _szDirectory.c_str(), filename.c_str());
-
- CurrentIndex = BuildFilenames(CurrentIndex + 1, (size_t) rFileInfo->m_FileSize, rFileInfo->m_FullPath, _NameTableOffset);
+ rFileInfo.m_FullPath += '/';
+ CurrentIndex = BuildFilenames(CurrentIndex + 1, (size_t) rFileInfo.m_FileSize, rFileInfo.m_FullPath, _NameTableOffset);
}
- else // This is a filename
+ else
{
- if (_szDirectory.empty())
- rFileInfo->m_FullPath += filename;
- else
- rFileInfo->m_FullPath += StringFromFormat("%s%s", _szDirectory.c_str(), filename.c_str());
-
- CurrentIndex++;
+ ++CurrentIndex;
}
}