File tree Expand file tree Collapse file tree 2 files changed +6
-19
lines changed
src/MessageStudio/Formats/BinaryText Expand file tree Collapse file tree 2 files changed +6
-19
lines changed Original file line number Diff line number Diff line change @@ -38,11 +38,11 @@ public ImmutableMsbtEntry this[ReadOnlySpan<byte> label] {
38
38
public ImmutableMsbt ( ref RevrsReader reader )
39
39
{
40
40
ref MsbtHeader header = ref reader . Read < MsbtHeader , MsbtHeader . Reverser > ( ) ;
41
- if ( header . ByteOrderMark is Endianness . Little ) {
41
+ if ( header . ByteOrderMark != reader . Endianness ) {
42
42
// Reverse the buffer back to LE
43
43
// since it's initially read in BE
44
- reader . Reverse < MsbtHeader , MsbtHeader . DataReverser > ( 0 ) ;
45
- reader . Endianness = Endianness . Little ;
44
+ reader . Endianness = header . ByteOrderMark ;
45
+ reader . Reverse < MsbtHeader , MsbtHeader . Reverser > ( 0 ) ;
46
46
}
47
47
48
48
if ( header . Magic != Msbt . MSBT_MAGIC ) {
@@ -71,6 +71,7 @@ public ImmutableMsbt(ref RevrsReader reader)
71
71
}
72
72
73
73
Header = header ;
74
+ Header . ByteOrderMark = reader . Endianness ;
74
75
}
75
76
76
77
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
Original file line number Diff line number Diff line change 6
6
namespace MessageStudio . Formats . BinaryText . Structures ;
7
7
8
8
[ StructLayout ( LayoutKind . Explicit , Size = 32 ) ]
9
- public readonly struct MsbtHeader
9
+ public struct MsbtHeader
10
10
{
11
11
[ FieldOffset ( 0x00 ) ]
12
12
public readonly ulong Magic ;
13
13
14
14
[ FieldOffset ( 0x08 ) ]
15
- public readonly Endianness ByteOrderMark ;
15
+ public Endianness ByteOrderMark ;
16
16
17
17
[ FieldOffset ( 0x0C ) ]
18
18
public readonly TextEncoding Encoding ;
@@ -47,18 +47,4 @@ public static void Reverse(in Span<byte> buffer)
47
47
buffer [ 0x12 ..0x16 ] . Reverse ( ) ;
48
48
}
49
49
}
50
-
51
- /// <summary>
52
- /// Reverser for only the data,
53
- /// the BoM is not reversed
54
- /// </summary>
55
- public class DataReverser : IStructReverser
56
- {
57
- [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
58
- public static void Reverse ( in Span < byte > buffer )
59
- {
60
- buffer [ 0x0E ..0x10 ] . Reverse ( ) ;
61
- buffer [ 0x12 ..0x16 ] . Reverse ( ) ;
62
- }
63
- }
64
50
}
You can’t perform that action at this time.
0 commit comments