From d652a6791f237ad6a79ceae82c2e2f0ad7e90c79 Mon Sep 17 00:00:00 2001 From: emeric Date: Thu, 27 Aug 2020 13:44:16 +0200 Subject: [PATCH] Zipper: fixed UTF-8 encoded names --- src/libs/utils/impl/Zipper.cpp | 7 ++++--- src/tools/zipper/LmsZipper.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/impl/Zipper.cpp b/src/libs/utils/impl/Zipper.cpp index f81fa33d..7ea8b9c9 100644 --- a/src/libs/utils/impl/Zipper.cpp +++ b/src/libs/utils/impl/Zipper.cpp @@ -40,7 +40,8 @@ namespace Zip enum GeneralPurposeFlag : std::uint16_t { - UseDataDescriptor = 1 << 3, + UseDataDescriptor = 1 << 3, + LanguageEncoding = 1 << 11, }; enum CompressionMethod : std::uint16_t @@ -315,7 +316,7 @@ namespace Zip header.setSignature(); header.setVersionNeededToExtract(1, 0); - header.setGeneralPurposeFlags(0); + header.setGeneralPurposeFlags(ZipHeader::GeneralPurposeFlag::LanguageEncoding); header.setCrc32UncompressedData(_currentFile->second.fileCrc32); switch (_compMethod) { @@ -422,7 +423,7 @@ namespace Zip header.setSignature(); header.setVersionMadeBy(2, 0); header.setVersionNeededToExtract(1, 0); - header.setGeneralPurposeFlags(0); + header.setGeneralPurposeFlags(ZipHeader::GeneralPurposeFlag::LanguageEncoding); switch (_compMethod) { case CompressionMethod::NoCompression: diff --git a/src/tools/zipper/LmsZipper.cpp b/src/tools/zipper/LmsZipper.cpp index 8cdc92a4..5354fdb9 100644 --- a/src/tools/zipper/LmsZipper.cpp +++ b/src/tools/zipper/LmsZipper.cpp @@ -58,7 +58,7 @@ int main(int argc, char* argv[]) while (!zipper.isComplete()) { - std::array buffer; + std::array buffer; std::cout << "Call" << std::endl; std::size_t nbWrittenBytes {zipper.writeSome(buffer.data(), buffer.size())};