Merge branch 'master' into system_buffers

This commit is contained in:
Adam Hathcock
2016-10-07 11:49:29 +01:00
10 changed files with 47 additions and 18 deletions

View File

@@ -30,7 +30,7 @@ namespace SharpCompress.Archives.SevenZip
/// </summary>
/// <param name="fileInfo"></param>
/// <param name="readerOptions"></param>
public static SevenZipArchive Open(FileInfo fileInfo, ReaderOptions readerOptions)
public static SevenZipArchive Open(FileInfo fileInfo, ReaderOptions readerOptions = null)
{
fileInfo.CheckNotNull("fileInfo");
return new SevenZipArchive(fileInfo, readerOptions ?? new ReaderOptions());
@@ -44,7 +44,7 @@ namespace SharpCompress.Archives.SevenZip
public static SevenZipArchive Open(Stream stream, ReaderOptions readerOptions = null)
{
stream.CheckNotNull("stream");
return new SevenZipArchive(stream, readerOptions);
return new SevenZipArchive(stream, readerOptions ?? new ReaderOptions());
}
#if !NO_FILE

View File

@@ -8,10 +8,10 @@ namespace SharpCompress.Common
{
private readonly Stream actualStream;
internal Volume(Stream stream, ReaderOptions readerFactoryOptions)
internal Volume(Stream stream, ReaderOptions readerOptions)
{
actualStream = stream;
ReaderOptions = readerFactoryOptions;
ReaderOptions = readerOptions;
}
internal Stream Stream { get { return new NonDisposingStream(actualStream); } }

View File

@@ -3,13 +3,6 @@ using SharpCompress.Converters;
namespace SharpCompress.Compressors.PPMd
{
public enum PpmdVersion
{
H,
H7z,
I1
}
public class PpmdProperties
{
public PpmdVersion Version = PpmdVersion.I1;

View File

@@ -0,0 +1,9 @@
namespace SharpCompress.Compressors.PPMd
{
public enum PpmdVersion
{
H,
H7z,
I1
}
}

View File

@@ -29,7 +29,7 @@ namespace SharpCompress.Readers
Options = options;
}
internal ReaderOptions Options { get; private set; }
internal ReaderOptions Options { get; }
public ArchiveType ArchiveType { get; }

View File

@@ -33,7 +33,7 @@ namespace SharpCompress.Readers
};
RewindableStream rewindableStream = new RewindableStream(stream);
rewindableStream.StartRecording();
if (ZipArchive.IsZipFile(rewindableStream, null))
if (ZipArchive.IsZipFile(rewindableStream, options.Password))
{
rewindableStream.Rewind(true);
return ZipReader.Open(rewindableStream, options);

View File

@@ -19,10 +19,10 @@ namespace SharpCompress.Writers.Zip
{
private readonly CompressionType compressionType;
private readonly CompressionLevel compressionLevel;
private readonly PpmdProperties ppmdProperties = new PpmdProperties(); // Caching properties to speed up PPMd
private readonly List<ZipCentralDirectoryEntry> entries = new List<ZipCentralDirectoryEntry>();
private readonly string zipComment;
private long streamPosition;
private PpmdProperties ppmdProps;
public ZipWriter(Stream destination, ZipWriterOptions zipWriterOptions)
: base(ArchiveType.Zip)
@@ -34,6 +34,18 @@ namespace SharpCompress.Writers.Zip
InitalizeStream(destination, !zipWriterOptions.LeaveStreamOpen);
}
private PpmdProperties PpmdProperties
{
get
{
if (ppmdProps == null)
{
ppmdProps = new PpmdProperties();
}
return ppmdProps;
}
}
protected override void Dispose(bool isDisposing)
{
if (isDisposing)
@@ -252,8 +264,8 @@ namespace SharpCompress.Writers.Zip
}
case ZipCompressionMethod.PPMd:
{
counting.Write(writer.ppmdProperties.Properties, 0, 2);
return new PpmdStream(writer.ppmdProperties, counting, true);
counting.Write(writer.PpmdProperties.Properties, 0, 2);
return new PpmdStream(writer.PpmdProperties, counting, true);
}
default:
{

View File

@@ -1,5 +1,5 @@
{
"version": "0.13.0",
"version": "0.13.1",
"title": "SharpCompress - Pure C# Decompression/Compression",
"authors": [ "Adam Hathcock" ],
"language": "en-US",