diff --git a/src/SharpCompress/Archives/IArchiveEntryExtensions.cs b/src/SharpCompress/Archives/IArchiveEntryExtensions.cs index d820020d..82f6bf53 100644 --- a/src/SharpCompress/Archives/IArchiveEntryExtensions.cs +++ b/src/SharpCompress/Archives/IArchiveEntryExtensions.cs @@ -26,7 +26,7 @@ public static class IArchiveEntryExtensions using (entryStream) { using Stream s = new ListeningStream(streamListener, entryStream); - await s.TransferToAsync(streamToWriteTo); + await s.CopyToAsync(streamToWriteTo); } streamListener.FireEntryExtractionEnd(archiveEntry); } diff --git a/src/SharpCompress/Archives/IArchiveExtensions.cs b/src/SharpCompress/Archives/IArchiveExtensions.cs index dfb3007f..d48a45df 100644 --- a/src/SharpCompress/Archives/IArchiveExtensions.cs +++ b/src/SharpCompress/Archives/IArchiveExtensions.cs @@ -76,7 +76,7 @@ public static class IArchiveExtensions // Write file using var fs = File.OpenWrite(path); - entry.WriteTo(fs); + await entry.WriteToAsync(fs); // Update progress bytesRead += entry.Size; diff --git a/src/SharpCompress/Utility.cs b/src/SharpCompress/Utility.cs index a7f3c4a6..2657c6cf 100644 --- a/src/SharpCompress/Utility.cs +++ b/src/SharpCompress/Utility.cs @@ -86,7 +86,7 @@ internal static class Utility public static void Skip(this Stream source) { - var buffer = GetTransferByteArray(); + var buffer = ArrayPool.Shared.Rent(TEMP_BUFFER_SIZE); try { do { } while (source.Read(buffer, 0, buffer.Length) == buffer.Length); @@ -99,7 +99,7 @@ internal static class Utility public static async Task SkipAsync(this Stream source) { - var buffer = GetTransferByteArray(); + var buffer = ArrayPool.Shared.Rent(TEMP_BUFFER_SIZE); try { do { } while (await source.ReadAsync(buffer, 0, buffer.Length) == buffer.Length); @@ -110,38 +110,6 @@ internal static class Utility } } - public static bool Find(this Stream source, byte[] array) - { - var buffer = GetTransferByteArray(); - try - { - var count = 0; - var len = source.Read(buffer, 0, buffer.Length); - - do - { - for (var i = 0; i < len; i++) - { - if (array[count] == buffer[i]) - { - count++; - if (count == array.Length) - { - source.Position = source.Position - len + i - array.Length + 1; - return true; - } - } - } - } while ((len = source.Read(buffer, 0, buffer.Length)) > 0); - } - finally - { - ArrayPool.Shared.Return(buffer); - } - - return false; - } - public static DateTime DosDateToDateTime(ushort iDate, ushort iTime) { var year = (iDate / 512) + 1980;