You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.175
Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
parent
4bdbaf4a88
commit
966bba02bb
@ -7,7 +7,20 @@ namespace Mono {
|
||||
internal static string PtrToUtf8String (IntPtr ptr)
|
||||
{
|
||||
unsafe {
|
||||
return new String ((sbyte*)ptr);
|
||||
if (ptr == IntPtr.Zero)
|
||||
return string.Empty;
|
||||
|
||||
byte* bytes = (byte*)ptr;
|
||||
int length = 0;
|
||||
|
||||
try {
|
||||
while (bytes++ [0] != 0)
|
||||
length++;
|
||||
} catch (NullReferenceException) {
|
||||
throw new ArgumentOutOfRangeException ("ptr", "Value does not refer to a valid string.");
|
||||
}
|
||||
|
||||
return new String ((sbyte*)ptr, 0, length, System.Text.Encoding.UTF8);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user