diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2014-06-29 14:22:06 -0500 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2014-06-29 14:22:06 -0500 |
| commit | 3805c4967f00ccfc15ed2b5f84d3142786e3da32 (patch) | |
| tree | c4cbd19b2be36d09ad4fe607024334e162c3a087 /Source/Core/DiscIO/FileSystemGCWii.cpp | |
| parent | 91da03122022e8c91a0328c1716ea8f1f2935074 (diff) | |
Fix ISO Directory extraction.
Diffstat (limited to 'Source/Core/DiscIO/FileSystemGCWii.cpp')
| -rw-r--r-- | Source/Core/DiscIO/FileSystemGCWii.cpp | 26 |
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; } } |
