diff options
| author | LC <mathew1800@gmail.com> | 2020-12-03 15:31:00 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-03 15:31:00 -0500 |
| commit | a34823df61df65168aa40ef5e82e44defd4a0138 (patch) | |
| tree | 5e50fe70508eaf2054a59b093318644aaf70e87e /Source/Core/DiscIO/DiscExtractor.cpp | |
| parent | dbc0fd1d89a4d79228f37114b46df1ec3a4c20f0 (diff) | |
| parent | b43f7c85cc8a5553382b048c83ff83f50fb34c8b (diff) | |
Merge pull request #9306 from JosJuice/recursive-extract
DiscIO: Fix recursive directory extraction
Diffstat (limited to 'Source/Core/DiscIO/DiscExtractor.cpp')
| -rw-r--r-- | Source/Core/DiscIO/DiscExtractor.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/DiscIO/DiscExtractor.cpp b/Source/Core/DiscIO/DiscExtractor.cpp index 225302bb9c..acf692a4f4 100644 --- a/Source/Core/DiscIO/DiscExtractor.cpp +++ b/Source/Core/DiscIO/DiscExtractor.cpp @@ -130,8 +130,10 @@ void ExportDirectory(const Volume& volume, const Partition& partition, const Fil const std::string& export_folder, const std::function<bool(const std::string& path)>& update_progress) { - const std::string export_root = - export_folder + (directory.IsDirectory() ? "/" + directory.GetName() + "/" : "/"); + std::string export_root = export_folder + '/'; + if (directory.IsDirectory() && !directory.IsRoot()) + export_root += directory.GetName() + '/'; + File::CreateFullPath(export_root); for (const FileInfo& file_info : directory) @@ -154,7 +156,8 @@ void ExportDirectory(const Volume& volume, const Partition& partition, const Fil } else if (recursive) { - ExportDirectory(volume, partition, file_info, recursive, path, export_path, update_progress); + ExportDirectory(volume, partition, file_info, recursive, filesystem_path, export_root, + update_progress); } } } |
