diff --git a/Aaru.Images/DART/Identify.cs b/Aaru.Images/DART/Identify.cs index e38312078..dcb9f6e44 100644 --- a/Aaru.Images/DART/Identify.cs +++ b/Aaru.Images/DART/Identify.cs @@ -51,7 +51,7 @@ public sealed partial class Dart var headerB = new byte[Marshal.SizeOf
()]; stream.EnsureRead(headerB, 0, Marshal.SizeOf
()); - Header header = Marshal.ByteArrayToStructureBigEndian
(headerB); + Header header = Marshal.ByteArrayToStructureBigEndianGenerated
(headerB); if(header.srcCmp > COMPRESS_NONE) return false; diff --git a/Aaru.Images/DART/Read.cs b/Aaru.Images/DART/Read.cs index 8be7369dd..86966f349 100644 --- a/Aaru.Images/DART/Read.cs +++ b/Aaru.Images/DART/Read.cs @@ -61,7 +61,7 @@ public sealed partial class Dart var headerB = new byte[Marshal.SizeOf
()]; stream.EnsureRead(headerB, 0, Marshal.SizeOf
()); - Header header = Marshal.ByteArrayToStructureBigEndian
(headerB); + Header header = Marshal.ByteArrayToStructureBigEndianGenerated
(headerB); if(header.srcCmp > COMPRESS_NONE) return ErrorNumber.NotSupported; diff --git a/Aaru.Images/DART/Structs.cs b/Aaru.Images/DART/Structs.cs index e587e0b37..32866e517 100644 --- a/Aaru.Images/DART/Structs.cs +++ b/Aaru.Images/DART/Structs.cs @@ -31,6 +31,7 @@ // ****************************************************************************/ using System.Runtime.InteropServices; +using Aaru.CommonTypes.Attributes; namespace Aaru.Images; @@ -39,11 +40,12 @@ public sealed partial class Dart #region Nested type: Header [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct Header + [SwapEndian] + partial struct Header { - public readonly byte srcCmp; - public readonly byte srcType; - public readonly short srcSize; + public byte srcCmp; + public byte srcType; + public short srcSize; } #endregion