[Add] FishNet

This commit is contained in:
2026-03-30 20:11:57 +07:00
parent ee793a3361
commit c22c08753a
1797 changed files with 197950 additions and 1 deletions
@@ -0,0 +1,52 @@
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2015 Jb Evain
// Copyright (c) 2008 - 2011 Novell, Inc.
//
// Licensed under the MIT/X11 license.
//
using System;
namespace MonoFN.Cecil.Metadata
{
internal sealed class BlobHeap : Heap
{
public BlobHeap(byte[] data) : base(data) { }
public byte[] Read(uint index)
{
if (index == 0 || index > data.Length - 1)
return Empty<byte>.Array;
int position = (int)index;
int length = (int)data.ReadCompressedUInt32(ref position);
if (length > data.Length - position)
return Empty<byte>.Array;
byte[] buffer = new byte [length];
Buffer.BlockCopy(data, position, buffer, 0, length);
return buffer;
}
public void GetView(uint signature, out byte[] buffer, out int index, out int length)
{
if (signature == 0 || signature > data.Length - 1)
{
buffer = null;
index = length = 0;
return;
}
buffer = data;
index = (int)signature;
length = (int)buffer.ReadCompressedUInt32(ref index);
}
}
}