diff --git a/openVulkanoCpp/IO/Archive/IArchiveWriter.hpp b/openVulkanoCpp/IO/Archive/IArchiveWriter.hpp index e54d36e..6c2820c 100644 --- a/openVulkanoCpp/IO/Archive/IArchiveWriter.hpp +++ b/openVulkanoCpp/IO/Archive/IArchiveWriter.hpp @@ -80,11 +80,17 @@ namespace OpenVulkano bool AddFiles(const std::filesystem::path& dirName, const std::string& inArchiveDirName) { - std::string sDirName = dirName.string(); - AddFile(sDirName.c_str(), inArchiveDirName.c_str()); + const std::string sDirName = dirName.string(); + const std::string prefix = inArchiveDirName.empty() ? "" : inArchiveDirName + "/"; + if (!inArchiveDirName.empty()) + { + AddFile(sDirName.c_str(), inArchiveDirName.c_str()); + } + std::string fPath; for(const auto& entry : std::filesystem::directory_iterator(dirName)) { - std::string fPath = inArchiveDirName + "/" + entry.path().filename().string(); + fPath.clear(); + fPath = prefix + entry.path().filename().string(); if (entry.is_directory()) AddFiles(entry, fPath); else {