Imported Upstream version 3.10.0

Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
This commit is contained in:
Jo Shields
2014-10-04 11:27:48 +01:00
parent fe777c5c82
commit 8b9b85e7f5
970 changed files with 20242 additions and 31308 deletions

View File

@ -81,19 +81,20 @@ namespace System.IO.Compression
}
#if NET_4_5
[MonoTODO]
public DeflateStream (Stream stream, CompressionLevel compressionLevel)
: this (stream, CompressionMode.Compress)
: this (stream, compressionLevel, false, false)
{
throw new NotImplementedException ();
}
[MonoTODO]
public DeflateStream (Stream stream, CompressionLevel compressionLevel, bool leaveOpen)
: this (stream, CompressionMode.Compress, leaveOpen)
: this (stream, compressionLevel, leaveOpen, false)
{
throw new NotImplementedException ();
}
internal DeflateStream (Stream stream, CompressionLevel compressionLevel, bool leaveOpen, bool gzip)
: this (stream, CompressionMode.Compress, leaveOpen, gzip)
{
}
#endif
protected override void Dispose (bool disposing)
@ -395,24 +396,15 @@ namespace System.IO.Compression
int UnmanagedRead (IntPtr buffer, int length)
{
int total = 0;
int n = 1;
while (length > 0 && n > 0) {
if (io_buffer == null)
io_buffer = new byte [BufferSize];
if (io_buffer == null)
io_buffer = new byte [BufferSize];
int count = Math.Min (length, io_buffer.Length);
n = base_stream.Read (io_buffer, 0, count);
if (n > 0) {
Marshal.Copy (io_buffer, 0, buffer, n);
unsafe {
buffer = new IntPtr ((byte *) buffer.ToPointer () + n);
}
length -= n;
total += n;
}
}
return total;
int count = Math.Min (length, io_buffer.Length);
int n = base_stream.Read (io_buffer, 0, count);
if (n > 0)
Marshal.Copy (io_buffer, 0, buffer, n);
return n;
}
#if MONOTOUCH