private unsafe void WriteInternal(byte[] array, int offset, int count) { if (count == 0) { return; } int result; fixed(byte *ptr = ref (array != null && array.Length != 0)?ref array[0] : ref *null) { IntPtr buffer = new IntPtr((void *)(ptr + offset)); result = DeflateStream.WriteZStream(this.z_stream, buffer, count); } DeflateStream.CheckResult(result, "WriteInternal"); }