diff options
author | vnugent <public@vaughnnugent.com> | 2023-09-13 11:00:17 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-09-13 11:00:17 -0400 |
commit | cdeda79bc7d358c617b05b17d24f3f3c79689379 (patch) | |
tree | 387d05ff42725024579299dc3e941fa950722275 /lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs | |
parent | dcf6f9dc0143eb50b702eb7dcd9e5dadd140537c (diff) |
Overhaul cmake, fix some warnings, and reconfigure proper compiler options with hardware support
Diffstat (limited to 'lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs')
-rw-r--r-- | lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs b/lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs index 0a4f7aa..ab451d9 100644 --- a/lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs +++ b/lib/Net.Compression/VNLib.Net.Compression/CompressionExtensions.cs @@ -42,6 +42,14 @@ namespace VNLib.Net.Compression /// <returns>The results of the compression operation</returns> public static unsafe CompressionResult CompressBlock(this LibraryWrapper nativeLib, IntPtr comp, Memory<byte> output, ReadOnlyMemory<byte> input, bool finalBlock) { + /* + * Since .NET only supports int32 size memory blocks + * we dont need to worry about integer overflow. + * + * Output sizes can never be larger than input + * sizes (read/written) + */ + //get pointers to the input and output buffers using MemoryHandle inPtr = input.Pin(); using MemoryHandle outPtr = output.Pin(); @@ -56,10 +64,10 @@ namespace VNLib.Net.Compression //Configure the input and output buffers op->inputBuffer = inPtr.Pointer; - op->inputSize = input.Length; + op->inputSize = (uint)input.Length; op->outputBuffer = outPtr.Pointer; - op->outputSize = output.Length; + op->outputSize = (uint)output.Length; //Call the native compress function nativeLib!.CompressBlock(comp, &operation); @@ -67,8 +75,8 @@ namespace VNLib.Net.Compression //Return the number of bytes written return new() { - BytesRead = op->bytesRead, - BytesWritten = op->bytesWritten + BytesRead = (int)op->bytesRead, + BytesWritten = (int)op->bytesWritten }; } } |