1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-17 20:58:07 +02:00

Fix deserialization of int64 values

This commit is contained in:
Ivan Savenko 2024-11-29 16:55:30 +00:00
parent d4b2ec5b0b
commit ccb42deba4

View File

@ -131,12 +131,12 @@ public:
if ((byteValue & 0x80) != 0)
{
valueUnsigned |= (byteValue & 0x7f) << offset;
valueUnsigned |= static_cast<uint64_t>(byteValue & 0x7f) << offset;
offset += 7;
}
else
{
valueUnsigned |= (byteValue & 0x3f) << offset;
valueUnsigned |= static_cast<uint64_t>(byteValue & 0x3f) << offset;
bool isNegative = (byteValue & 0x40) != 0;
if (isNegative)
return -static_cast<int64_t>(valueUnsigned);