Correctly handle long format elements

This commit is contained in:
baldurk
2019-09-06 22:19:28 +01:00
parent 9c6bfa6788
commit a50513e561
+6 -2
View File
@@ -903,7 +903,9 @@ QVariantList FormatElement::GetVariants(const byte *&data, const byte *end) cons
}
else if(format.compType == CompType::SInt)
{
if(format.compByteWidth == 4)
if(format.compByteWidth == 8)
ret.push_back((int64_t)readObj<int64_t>(data, end, ok));
else if(format.compByteWidth == 4)
ret.push_back((int)readObj<int32_t>(data, end, ok));
else if(format.compByteWidth == 2)
ret.push_back((int)readObj<int16_t>(data, end, ok));
@@ -912,7 +914,9 @@ QVariantList FormatElement::GetVariants(const byte *&data, const byte *end) cons
}
else if(format.compType == CompType::UInt)
{
if(format.compByteWidth == 4)
if(format.compByteWidth == 8)
ret.push_back((uint64_t)readObj<uint64_t>(data, end, ok));
else if(format.compByteWidth == 4)
ret.push_back((uint32_t)readObj<uint32_t>(data, end, ok));
else if(format.compByteWidth == 2)
ret.push_back((uint32_t)readObj<uint16_t>(data, end, ok));