Skip to content

Commit 8221f9e

Browse files
authored
don't discard float attribute if raw size found (#1249)
1 parent ba5491d commit 8221f9e

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/data/models/CodeNoteModel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,6 @@ void CodeNoteModel::ExtractSize(const std::wstring& sNote, bool bIsPointer)
854854
{
855855
const auto nBits = _wtoi(sPreviousWord.c_str());
856856
m_nBytes = (nBits + 7) / 8;
857-
m_nMemSize = MemSize::Unknown;
858857
bBytesFromBits = true;
859858
bWordIsSize = true;
860859
bFoundSize = true;
@@ -865,14 +864,15 @@ void CodeNoteModel::ExtractSize(const std::wstring& sNote, bool bIsPointer)
865864
if (!bFoundSize || (bBytesFromBits && !bIsPointer))
866865
{
867866
m_nBytes = _wtoi(sPreviousWord.c_str());
868-
m_nMemSize = MemSize::Unknown;
869867
bBytesFromBits = false;
870868
bWordIsSize = true;
871869
bFoundSize = true;
872870
}
873871
}
874872

875-
if (bWordIsSize)
873+
if (bWordIsSize &&
874+
(m_nMemSize == MemSize::Unknown || // size not yet determined
875+
MemSizeBytes(m_nMemSize) != m_nBytes)) // size mismatch
876876
{
877877
switch (m_nBytes)
878878
{

tests/data/models/CodeNoteModel_Tests.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ TEST_CLASS(CodeNoteModel_Tests)
111111
TestCodeNoteSize(L"[2 Byte] Test", 2U, MemSize::SixteenBit);
112112
TestCodeNoteSize(L"[4 Byte] Test", 4U, MemSize::ThirtyTwoBit);
113113
TestCodeNoteSize(L"[4 Byte - Float] Test", 4U, MemSize::Float);
114+
TestCodeNoteSize(L"[Float - 4 Byte] Test", 4U, MemSize::Float);
115+
TestCodeNoteSize(L"[32-bit Float] Test", 4U, MemSize::Float);
116+
TestCodeNoteSize(L"[Float 32-bit] Test", 4U, MemSize::Float);
114117
TestCodeNoteSize(L"[8 Byte] Test", 8U, MemSize::Array);
115118
TestCodeNoteSize(L"[0x80 Bytes] Test", 128U, MemSize::Array);
116119
TestCodeNoteSize(L"[0xa8 bytes] Test", 168U, MemSize::Array);

0 commit comments

Comments
 (0)