diff --git a/VpSharp/src/Internal/Utf8StringToManaged.cs b/VpSharp/src/Internal/Utf8StringToManaged.cs index e6ec09b..811edb4 100644 --- a/VpSharp/src/Internal/Utf8StringToManaged.cs +++ b/VpSharp/src/Internal/Utf8StringToManaged.cs @@ -12,6 +12,16 @@ internal sealed class Utf8StringToManaged : ICustomMarshaler return s_instance ??= new Utf8StringToManaged(); } + private static int GetStringLength(IntPtr ptr) + { + int offset; + for (offset = 0; Marshal.ReadByte(ptr, offset) != 0; offset++) + { + } + + return offset; + } + public void CleanUpNativeData(IntPtr pNativeData) { // Do nothing. For some reason CleanUpNativeData is called for pointers that are not even created by the marshaler. @@ -33,16 +43,6 @@ internal sealed class Utf8StringToManaged : ICustomMarshaler throw new NotImplementedException(); } - private int GetStringLength(IntPtr ptr) - { - int offset; - for (offset = 0; Marshal.ReadByte(ptr, offset) != 0; offset++) - { - } - - return offset; - } - public object MarshalNativeToManaged(IntPtr pNativeData) { if (pNativeData == IntPtr.Zero)