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/FileHandlerARC.cpp | |
| parent | 91da03122022e8c91a0328c1716ea8f1f2935074 (diff) | |
Fix ISO Directory extraction.
Diffstat (limited to 'Source/Core/DiscIO/FileHandlerARC.cpp')
| -rw-r--r-- | Source/Core/DiscIO/FileHandlerARC.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/Source/Core/DiscIO/FileHandlerARC.cpp b/Source/Core/DiscIO/FileHandlerARC.cpp index 6215b0a100..96bfaf9c57 100644 --- a/Source/Core/DiscIO/FileHandlerARC.cpp +++ b/Source/Core/DiscIO/FileHandlerARC.cpp @@ -192,26 +192,19 @@ size_t CARCFile::BuildFilenames(const size_t _FirstIndex, const size_t _LastInde while (CurrentIndex < _LastIndex) { SFileInfo& rFileInfo = m_FileInfoVector[CurrentIndex]; - int uOffset = rFileInfo.m_NameOffset & 0xFFFFFF; + int const uOffset = rFileInfo.m_NameOffset & 0xFFFFFF; + + rFileInfo.m_FullPath = _szDirectory + &_szNameTable[uOffset]; // check next index if (rFileInfo.IsDirectory()) { - if (_szDirectory.empty()) - rFileInfo.m_FullPath += StringFromFormat("%s/", &_szNameTable[uOffset]); - else - rFileInfo.m_FullPath += StringFromFormat("%s%s/", _szDirectory.c_str(), &_szNameTable[uOffset]); - - CurrentIndex = BuildFilenames(CurrentIndex + 1, (size_t) rFileInfo.m_FileSize, rFileInfo.m_FullPath, _szNameTable); + rFileInfo.m_FullPath += '/'; + CurrentIndex = BuildFilenames(CurrentIndex + 1, (size_t)rFileInfo.m_FileSize, rFileInfo.m_FullPath, _szNameTable); } - else // This is a filename + else { - if (_szDirectory.empty()) - rFileInfo.m_FullPath += StringFromFormat("%s", &_szNameTable[uOffset]); - else - rFileInfo.m_FullPath += StringFromFormat("%s%s", _szDirectory.c_str(), &_szNameTable[uOffset]); - - CurrentIndex++; + ++CurrentIndex; } } |
