From 3805c4967f00ccfc15ed2b5f84d3142786e3da32 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Sun, 29 Jun 2014 14:22:06 -0500 Subject: Fix ISO Directory extraction. --- Source/Core/DiscIO/FileHandlerARC.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'Source/Core/DiscIO/FileHandlerARC.cpp') 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; } } -- cgit v1.2.3