Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetNonVirtualStringMemoryBlock()

unsafe MemoryBlock System.Reflection.Metadata.Ecma335.StringHeap.GetNonVirtualStringMemoryBlock ( StringHandle handle)
inlineprivate

Definition at line 83 of file StringHeap.cs.

84 {
85 char terminator = ((handle.StringKind == StringKind.DotTerminated) ? '.' : '\0');
86 int heapOffset = handle.GetHeapOffset();
87 int numberOfBytesRead;
88 int utf8NullTerminatedLength = Block.GetUtf8NullTerminatedLength(heapOffset, out numberOfBytesRead, terminator);
89 return new MemoryBlock(Block.Pointer + heapOffset, utf8NullTerminatedLength);
90 }
unsafe int GetUtf8NullTerminatedLength(int offset, out int numberOfBytesRead, char terminator='\0')

References System.Reflection.Metadata.Ecma335.StringHeap.Block, System.Reflection.Internal.MemoryBlock.GetUtf8NullTerminatedLength(), System.handle, and System.Reflection.Internal.MemoryBlock.Pointer.

Referenced by System.Reflection.Metadata.Ecma335.StringHeap.GetMemoryBlock(), and System.Reflection.Metadata.Ecma335.StringHeap.GetNonVirtualStringBytes().