mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-02-03 21:23:38 +00:00
Change flag name to be closer to spec
This commit is contained in:
3497
reference/APPNOTE.TXT
Normal file
3497
reference/APPNOTE.TXT
Normal file
File diff suppressed because it is too large
Load Diff
@@ -34,16 +34,16 @@ namespace SharpCompress.Common.Zip.Headers
|
||||
byte[] extra = reader.ReadBytes(extraLength);
|
||||
byte[] comment = reader.ReadBytes(commentLength);
|
||||
|
||||
if ((Flags & HeaderFlags.UTF8) == 0)
|
||||
{
|
||||
Name = ArchiveEncoding.Decode437(name);
|
||||
Comment = ArchiveEncoding.Decode437(comment);
|
||||
}
|
||||
else
|
||||
if (Flags.HasFlag(HeaderFlags.EFS))
|
||||
{
|
||||
Name = ArchiveEncoding.Decode(name);
|
||||
Comment = ArchiveEncoding.Decode(comment);
|
||||
}
|
||||
else
|
||||
{
|
||||
Name = ArchiveEncoding.Decode437(name);
|
||||
Comment = ArchiveEncoding.Decode437(comment);
|
||||
}
|
||||
|
||||
LoadExtra(extra);
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace SharpCompress.Common.Zip.Headers
|
||||
Bit2 = 4,
|
||||
UsePostDataDescriptor = 8,
|
||||
EnhancedDeflate = 16,
|
||||
UTF8 = 2048
|
||||
//Bit 11: Language encoding flag
|
||||
EFS = 2048
|
||||
}
|
||||
}
|
||||
@@ -25,14 +25,15 @@ namespace SharpCompress.Common.Zip.Headers
|
||||
ushort extraLength = reader.ReadUInt16();
|
||||
byte[] name = reader.ReadBytes(nameLength);
|
||||
byte[] extra = reader.ReadBytes(extraLength);
|
||||
if ((Flags & HeaderFlags.UTF8) == 0)
|
||||
|
||||
if (Flags.HasFlag(HeaderFlags.EFS))
|
||||
{
|
||||
// Use IBM Code Page 437 (IBM PC character encoding set)
|
||||
Name = ArchiveEncoding.Decode437(name);
|
||||
Name = ArchiveEncoding.Decode(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
Name = ArchiveEncoding.Decode(name);
|
||||
// Use IBM Code Page 437 (IBM PC character encoding set)
|
||||
Name = ArchiveEncoding.Decode437(name);
|
||||
}
|
||||
|
||||
LoadExtra(extra);
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace SharpCompress.Writers.Zip
|
||||
var extralength = zip64 ? (2 + 2 + 8 + 8 + 8 + 4) : 0;
|
||||
var version = (byte)(zip64 ? 45 : 20); // Version 20 required for deflate/encryption
|
||||
|
||||
HeaderFlags flags = Equals(archiveEncoding.GetEncoding(), Encoding.UTF8) ? HeaderFlags.UTF8 : HeaderFlags.None;
|
||||
HeaderFlags flags = Equals(archiveEncoding.GetEncoding(), Encoding.UTF8) ? HeaderFlags.EFS : HeaderFlags.None;
|
||||
if (!outputStream.CanSeek)
|
||||
{
|
||||
// Cannot use data descriptors with zip64:
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace SharpCompress.Writers.Zip
|
||||
{
|
||||
OutputStream.Write(new byte[] { 63, 0 }, 0, 2); //version says we used PPMd or LZMA
|
||||
}
|
||||
HeaderFlags flags = Equals(WriterOptions.ArchiveEncoding.GetEncoding(), Encoding.UTF8) ? HeaderFlags.UTF8 : 0;
|
||||
HeaderFlags flags = Equals(WriterOptions.ArchiveEncoding.GetEncoding(), Encoding.UTF8) ? HeaderFlags.EFS : 0;
|
||||
if (!OutputStream.CanSeek)
|
||||
{
|
||||
flags |= HeaderFlags.UsePostDataDescriptor;
|
||||
|
||||
Reference in New Issue
Block a user