internal static string ParseCanonicalName(string str, int start, ref bool isLoopback, ref string scopeId) {
unsafe {
ushort *numbers = stackalloc ushort[NumberOfLabels];
// optimized zeroing of 8 shorts = 2 longs
((long*)numbers)[0] = 0L;
((long*)numbers)[1] = 0L;
isLoopback = Parse(str, numbers, start, ref scopeId);
return CreateCanonicalName(numbers);
}
}