Zipper: fixed UTF-8 encoded names
This commit is contained in:
@@ -40,7 +40,8 @@ namespace Zip
|
|||||||
|
|
||||||
enum GeneralPurposeFlag : std::uint16_t
|
enum GeneralPurposeFlag : std::uint16_t
|
||||||
{
|
{
|
||||||
UseDataDescriptor = 1 << 3,
|
UseDataDescriptor = 1 << 3,
|
||||||
|
LanguageEncoding = 1 << 11,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CompressionMethod : std::uint16_t
|
enum CompressionMethod : std::uint16_t
|
||||||
@@ -315,7 +316,7 @@ namespace Zip
|
|||||||
|
|
||||||
header.setSignature();
|
header.setSignature();
|
||||||
header.setVersionNeededToExtract(1, 0);
|
header.setVersionNeededToExtract(1, 0);
|
||||||
header.setGeneralPurposeFlags(0);
|
header.setGeneralPurposeFlags(ZipHeader::GeneralPurposeFlag::LanguageEncoding);
|
||||||
header.setCrc32UncompressedData(_currentFile->second.fileCrc32);
|
header.setCrc32UncompressedData(_currentFile->second.fileCrc32);
|
||||||
switch (_compMethod)
|
switch (_compMethod)
|
||||||
{
|
{
|
||||||
@@ -422,7 +423,7 @@ namespace Zip
|
|||||||
header.setSignature();
|
header.setSignature();
|
||||||
header.setVersionMadeBy(2, 0);
|
header.setVersionMadeBy(2, 0);
|
||||||
header.setVersionNeededToExtract(1, 0);
|
header.setVersionNeededToExtract(1, 0);
|
||||||
header.setGeneralPurposeFlags(0);
|
header.setGeneralPurposeFlags(ZipHeader::GeneralPurposeFlag::LanguageEncoding);
|
||||||
switch (_compMethod)
|
switch (_compMethod)
|
||||||
{
|
{
|
||||||
case CompressionMethod::NoCompression:
|
case CompressionMethod::NoCompression:
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
while (!zipper.isComplete())
|
while (!zipper.isComplete())
|
||||||
{
|
{
|
||||||
std::array<std::byte, 65536> buffer;
|
std::array<std::byte, 1000000> buffer;
|
||||||
|
|
||||||
std::cout << "Call" << std::endl;
|
std::cout << "Call" << std::endl;
|
||||||
std::size_t nbWrittenBytes {zipper.writeSome(buffer.data(), buffer.size())};
|
std::size_t nbWrittenBytes {zipper.writeSome(buffer.data(), buffer.size())};
|
||||||
|
|||||||
Reference in New Issue
Block a user