Add U8Span properties for all nacp string fields

This commit is contained in:
Alex Barney 2022-02-20 22:58:01 -07:00
parent 5f648300d5
commit a2c64797a9
3 changed files with 15 additions and 12 deletions

View File

@ -71,18 +71,18 @@ public struct ApplicationControlProperty
public AccessibleLaunchRequiredVersionValue AccessibleLaunchRequiredVersion;
public Array3000<byte> Reserved3448;
public U8Span IsbnString => new U8Span(Isbn.ItemsRo);
public U8Span DisplayVersionString => new U8Span(DisplayVersion.ItemsRo);
public U8Span ApplicationErrorCodeCategoryString => new U8Span(ApplicationErrorCodeCategory.ItemsRo);
public U8Span BcatPassphraseString => new U8Span(BcatPassphrase.ItemsRo);
public readonly U8Span IsbnString => new U8Span(Isbn.ItemsRo);
public readonly U8Span DisplayVersionString => new U8Span(DisplayVersion.ItemsRo);
public readonly U8Span ApplicationErrorCodeCategoryString => new U8Span(ApplicationErrorCodeCategory.ItemsRo);
public readonly U8Span BcatPassphraseString => new U8Span(BcatPassphrase.ItemsRo);
public struct ApplicationTitle
{
private Array512<byte> _name;
private Array256<byte> _publisher;
public Array512<byte> Name;
public Array256<byte> Publisher;
public U8SpanMutable Name => new U8SpanMutable(_name.Items);
public U8SpanMutable Publisher => new U8SpanMutable(_publisher.Items);
public readonly U8Span NameString => new U8Span(Name.ItemsRo);
public readonly U8Span PublisherString => new U8Span(Publisher.ItemsRo);
}
public struct ApplicationNeighborDetectionClientConfiguration

View File

@ -231,9 +231,9 @@ public class SwitchFs : IDisposable
foreach (ref readonly ApplicationControlProperty.ApplicationTitle desc in title.Control.Value.Title.ItemsRo)
{
if (!desc.Name.IsEmpty())
if (!desc.NameString.IsEmpty())
{
title.Name = desc.Name.ToString();
title.Name = desc.NameString.ToString();
break;
}
}

View File

@ -15,8 +15,11 @@ public class TypeLayoutTests
Assert.Equal(0x300, Unsafe.SizeOf<ApplicationTitle>());
Assert.Equal(0x000, GetOffset(in s, in s.Name.Value[0]));
Assert.Equal(0x200, GetOffset(in s, in s.Publisher.Value[0]));
Assert.Equal(0x000, GetOffset(in s, in s.Name));
Assert.Equal(0x200, GetOffset(in s, in s.Publisher));
Assert.Equal(0x000, GetOffset(in s, in s.NameString.Value[0]));
Assert.Equal(0x200, GetOffset(in s, in s.PublisherString.Value[0]));
}
[Fact]