diff --git a/Directory.Packages.props b/Directory.Packages.props
index 439ee797..fd4473f8 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/src/SharpCompress/Compressors/ZStandard/CompressionStream.cs b/src/SharpCompress/Compressors/ZStandard/CompressionStream.cs
index 2bf952fd..b65cc752 100644
--- a/src/SharpCompress/Compressors/ZStandard/CompressionStream.cs
+++ b/src/SharpCompress/Compressors/ZStandard/CompressionStream.cs
@@ -68,7 +68,7 @@ namespace ZstdSharp
#if !NETSTANDARD2_0 && !NETFRAMEWORK
public override async ValueTask DisposeAsync()
#else
- public async ValueTask DisposeAsync()
+ public async Task DisposeAsync()
#endif
{
if (compressor == null)
@@ -160,8 +160,14 @@ namespace ZstdSharp
} while (directive == ZSTD_EndDirective.ZSTD_e_continue ? input.pos < input.size : remaining > 0);
}
- private async ValueTask WriteInternalAsync(ReadOnlyMemory? buffer, ZSTD_EndDirective directive,
+#if !NETSTANDARD2_0 && !NETFRAMEWORK
+ private async ValueTask WriteInternalAsync(ReadOnlyMemory? buffer, ZSTD_EndDirective directive,
CancellationToken cancellationToken = default)
+#else
+ private async Task WriteInternalAsync(ReadOnlyMemory? buffer, ZSTD_EndDirective directive,
+ CancellationToken cancellationToken = default)
+#endif
+
{
EnsureNotDisposed();
@@ -178,15 +184,20 @@ namespace ZstdSharp
} while (directive == ZSTD_EndDirective.ZSTD_e_continue ? input.pos < input.size : remaining > 0);
}
+#if !NETSTANDARD2_0 && !NETFRAMEWORK
+
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
=> WriteAsync(new ReadOnlyMemory(buffer, offset, count), cancellationToken).AsTask();
-#if !NETSTANDARD2_0 && !NETFRAMEWORK
public override async ValueTask WriteAsync(ReadOnlyMemory buffer,
CancellationToken cancellationToken = default)
=> await WriteInternalAsync(buffer, ZSTD_EndDirective.ZSTD_e_continue, cancellationToken).ConfigureAwait(false);
#else
- public async ValueTask WriteAsync(ReadOnlyMemory buffer,
+
+ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ => WriteAsync(new ReadOnlyMemory(buffer, offset, count), cancellationToken);
+
+ public async Task WriteAsync(ReadOnlyMemory buffer,
CancellationToken cancellationToken = default)
=> await WriteInternalAsync(buffer, ZSTD_EndDirective.ZSTD_e_continue, cancellationToken).ConfigureAwait(false);
#endif
diff --git a/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs b/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs
index 28dc8844..3f15227f 100644
--- a/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs
+++ b/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs
@@ -146,14 +146,18 @@ namespace ZstdSharp
}
}
+
+#if !NETSTANDARD2_0 && !NETFRAMEWORK
public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
=> ReadAsync(new Memory(buffer, offset, count), cancellationToken).AsTask();
-#if !NETSTANDARD2_0 && !NETFRAMEWORK
public override async ValueTask ReadAsync(Memory buffer,
CancellationToken cancellationToken = default)
#else
- public async ValueTask ReadAsync(Memory buffer,
+
+ public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ => ReadAsync(new Memory(buffer, offset, count), cancellationToken);
+ public async Task ReadAsync(Memory buffer,
CancellationToken cancellationToken = default)
#endif
{
@@ -241,16 +245,16 @@ namespace ZstdSharp
}
#if NETSTANDARD2_0 || NETFRAMEWORK
- public virtual ValueTask DisposeAsync()
+ public virtual Task DisposeAsync()
{
try
{
Dispose();
- return default;
+ return Task.CompletedTask;
}
catch (Exception exc)
{
- return new ValueTask(Task.FromException(exc));
+ return Task.FromException(exc);
}
}
#endif
diff --git a/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdCompress.cs b/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdCompress.cs
index cdbf378d..e5eee65b 100644
--- a/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdCompress.cs
+++ b/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdCompress.cs
@@ -3335,7 +3335,7 @@ namespace ZstdSharp.Unsafe
uint curr = (uint)(istart - @base);
#if DEBUG
if (sizeof(nint) == 8)
- assert(istart - @base < (nint)unchecked((uint)-1));
+ assert(istart - @base < unchecked((nint)(uint)-1));
#endif
if (curr > ms->nextToUpdate + 384)
ms->nextToUpdate = curr - (192 < curr - ms->nextToUpdate - 384 ? 192 : curr - ms->nextToUpdate - 384);
diff --git a/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdmtCompress.cs b/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdmtCompress.cs
index caef6e89..b379f7eb 100644
--- a/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdmtCompress.cs
+++ b/src/SharpCompress/Compressors/ZStandard/Unsafe/ZstdmtCompress.cs
@@ -576,7 +576,7 @@ namespace ZstdSharp.Unsafe
int chunkNb;
#if DEBUG
if (sizeof(nuint) > sizeof(int))
- assert(job->src.size < 2147483647 * chunkSize);
+ assert(job->src.size < unchecked(2147483647 * chunkSize));
#endif
assert(job->cSize == 0);
for (chunkNb = 1; chunkNb < nbChunks; chunkNb++)
@@ -1614,4 +1614,4 @@ namespace ZstdSharp.Unsafe
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/SharpCompress/SharpCompress.csproj b/src/SharpCompress/SharpCompress.csproj
index 31edb832..760d6032 100644
--- a/src/SharpCompress/SharpCompress.csproj
+++ b/src/SharpCompress/SharpCompress.csproj
@@ -35,12 +35,11 @@
$(DefineConstants);DEBUG_STREAMS
-
-
-
+
+
diff --git a/src/SharpCompress/packages.lock.json b/src/SharpCompress/packages.lock.json
index 82a2426c..1fc221de 100644
--- a/src/SharpCompress/packages.lock.json
+++ b/src/SharpCompress/packages.lock.json
@@ -23,9 +23,30 @@
},
"System.Buffers": {
"type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
+ "requested": "[4.6.1, )",
+ "resolved": "4.6.1",
+ "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
+ },
+ "System.Memory": {
+ "type": "Direct",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.3",
+ "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
+ "dependencies": {
+ "System.Buffers": "4.6.1",
+ "System.Numerics.Vectors": "4.6.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ },
+ "System.Text.Encoding.CodePages": {
+ "type": "Direct",
+ "requested": "[8.0.0, )",
+ "resolved": "8.0.0",
+ "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
+ "dependencies": {
+ "System.Memory": "4.5.5",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
},
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
@@ -41,6 +62,16 @@
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw=="
+ },
+ "System.Numerics.Vectors": {
+ "type": "Transitive",
+ "resolved": "4.6.1",
+ "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
+ },
+ "System.Runtime.CompilerServices.Unsafe": {
+ "type": "Transitive",
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
}
},
".NETFramework,Version=v4.8.1": {
@@ -65,9 +96,30 @@
},
"System.Buffers": {
"type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
+ "requested": "[4.6.1, )",
+ "resolved": "4.6.1",
+ "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
+ },
+ "System.Memory": {
+ "type": "Direct",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.3",
+ "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
+ "dependencies": {
+ "System.Buffers": "4.6.1",
+ "System.Numerics.Vectors": "4.6.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ },
+ "System.Text.Encoding.CodePages": {
+ "type": "Direct",
+ "requested": "[8.0.0, )",
+ "resolved": "8.0.0",
+ "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
+ "dependencies": {
+ "System.Memory": "4.5.5",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
},
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
@@ -83,18 +135,19 @@
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw=="
+ },
+ "System.Numerics.Vectors": {
+ "type": "Transitive",
+ "resolved": "4.6.1",
+ "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
+ },
+ "System.Runtime.CompilerServices.Unsafe": {
+ "type": "Transitive",
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
}
},
".NETStandard,Version=v2.0": {
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Direct",
- "requested": "[8.0.0, )",
- "resolved": "8.0.0",
- "contentHash": "3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==",
- "dependencies": {
- "System.Threading.Tasks.Extensions": "4.5.4"
- }
- },
"Microsoft.NETFramework.ReferenceAssemblies": {
"type": "Direct",
"requested": "[1.0.3, )",
@@ -125,19 +178,19 @@
},
"System.Buffers": {
"type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
+ "requested": "[4.6.1, )",
+ "resolved": "4.6.1",
+ "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
},
"System.Memory": {
"type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.3",
+ "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
"dependencies": {
- "System.Buffers": "4.6.0",
- "System.Numerics.Vectors": "4.6.0",
- "System.Runtime.CompilerServices.Unsafe": "6.1.0"
+ "System.Buffers": "4.6.1",
+ "System.Numerics.Vectors": "4.6.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
}
},
"System.Text.Encoding.CodePages": {
@@ -172,21 +225,13 @@
},
"System.Numerics.Vectors": {
"type": "Transitive",
- "resolved": "4.6.0",
- "contentHash": "t+SoieZsRuEyiw/J+qXUbolyO219tKQQI0+2/YI+Qv7YdGValA6WiuokrNKqjrTNsy5ABWU11bdKOzUdheteXg=="
+ "resolved": "4.6.1",
+ "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "6.1.0",
- "contentHash": "5o/HZxx6RVqYlhKSq8/zronDkALJZUT2Vz0hx43f0gwe8mwlM0y2nYlqdBwLMzr262Bwvpikeb/yEwkAa5PADg=="
- },
- "System.Threading.Tasks.Extensions": {
- "type": "Transitive",
- "resolved": "4.5.4",
- "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "4.5.3"
- }
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
}
},
"net6.0": {
@@ -209,12 +254,6 @@
"Microsoft.SourceLink.Common": "8.0.0"
}
},
- "System.Buffers": {
- "type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -257,12 +296,6 @@
"Microsoft.SourceLink.Common": "8.0.0"
}
},
- "System.Buffers": {
- "type": "Direct",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
diff --git a/tests/SharpCompress.Test/packages.lock.json b/tests/SharpCompress.Test/packages.lock.json
index ae6cfd23..c6e076f2 100644
--- a/tests/SharpCompress.Test/packages.lock.json
+++ b/tests/SharpCompress.Test/packages.lock.json
@@ -82,6 +82,11 @@
"resolved": "1.5.0",
"contentHash": "EXKiDFsChZW0RjrZ4FYHu9aW6+P4MCgEDCklsVseRfhoO0F+dXeMSsMRAlVXIo06kGJ/zv+2w1a2uc2+kxxSaQ=="
},
+ "System.Numerics.Vectors": {
+ "type": "Transitive",
+ "resolved": "4.6.1",
+ "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
+ },
"System.Reflection.Metadata": {
"type": "Transitive",
"resolved": "1.6.0",
@@ -92,8 +97,8 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "4.5.3",
- "contentHash": "3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw=="
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
@@ -151,14 +156,37 @@
"sharpcompress": {
"type": "Project",
"dependencies": {
- "System.Buffers": "[4.6.0, )"
+ "System.Buffers": "[4.6.1, )",
+ "System.Memory": "[4.6.3, )",
+ "System.Text.Encoding.CodePages": "[8.0.0, )"
}
},
"System.Buffers": {
"type": "CentralTransitive",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
+ "requested": "[4.6.1, )",
+ "resolved": "4.6.1",
+ "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
+ },
+ "System.Memory": {
+ "type": "CentralTransitive",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.3",
+ "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
+ "dependencies": {
+ "System.Buffers": "4.6.1",
+ "System.Numerics.Vectors": "4.6.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ },
+ "System.Text.Encoding.CodePages": {
+ "type": "CentralTransitive",
+ "requested": "[8.0.0, )",
+ "resolved": "8.0.0",
+ "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
+ "dependencies": {
+ "System.Memory": "4.5.5",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
}
},
"net8.0": {
@@ -303,16 +331,7 @@
}
},
"sharpcompress": {
- "type": "Project",
- "dependencies": {
- "System.Buffers": "[4.6.0, )"
- }
- },
- "System.Buffers": {
- "type": "CentralTransitive",
- "requested": "[4.6.0, )",
- "resolved": "4.6.0",
- "contentHash": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA=="
+ "type": "Project"
}
}
}