diff --git a/src/libs/utils/impl/Zipper.cpp b/src/libs/utils/impl/Zipper.cpp index 95c64432..8c0f901e 100644 --- a/src/libs/utils/impl/Zipper.cpp +++ b/src/libs/utils/impl/Zipper.cpp @@ -292,7 +292,7 @@ namespace Zip const std::size_t nbBytesToCopy {std::min(fileName.size() - _currentOffset, bufferSize)}; - std::copy(std::next(std::begin(fileName), _currentOffset), std::next(std::begin(fileName), nbBytesToCopy), reinterpret_cast(buffer)); + std::copy(std::next(std::begin(fileName), _currentOffset), std::next(std::begin(fileName), _currentOffset + nbBytesToCopy), reinterpret_cast(buffer)); _currentOffset += nbBytesToCopy; return nbBytesToCopy; @@ -412,7 +412,7 @@ namespace Zip const std::size_t nbBytesToCopy {std::min(fileName.size() - _currentOffset, bufferSize)}; - std::copy(std::next(std::begin(fileName), _currentOffset), std::next(std::begin(fileName), nbBytesToCopy), reinterpret_cast(buffer)); + std::copy(std::next(std::begin(fileName), _currentOffset), std::next(std::begin(fileName), _currentOffset + nbBytesToCopy), reinterpret_cast(buffer)); _currentOffset += nbBytesToCopy; _centralDirectorySize += nbBytesToCopy; diff --git a/src/tools/zipper/LmsZipper.cpp b/src/tools/zipper/LmsZipper.cpp index d70b2bbb..bbeb8403 100644 --- a/src/tools/zipper/LmsZipper.cpp +++ b/src/tools/zipper/LmsZipper.cpp @@ -40,7 +40,10 @@ int main(int argc, char* argv[]) std::map files; for (int i {2}; i < argc; ++i) - files.emplace(argv[i], argv[i]); + { + std::filesystem::path path {argv[i]}; + files.emplace(path.relative_path(), path); + } std::cout << "Compressing " << files.size() << " files..." << std::endl; @@ -58,12 +61,10 @@ int main(int argc, char* argv[]) while (!zipper.isComplete()) { - std::array buffer; + //std::array buffer; + std::array buffer; - std::cout << "Call" << std::endl; std::size_t nbWrittenBytes {zipper.writeSome(buffer.data(), buffer.size())}; - std::cout << "nbWrittenBytes = " << nbWrittenBytes << std::endl; - ofs.write(reinterpret_cast(buffer.data()), nbWrittenBytes); }