1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-08 22:26:51 +02:00

Merge pull request #5004 from IvanSavenko/int64_fix

Fix deserialization of int64 values
This commit is contained in:
Ivan Savenko
2024-12-02 13:06:34 +02:00
committed by GitHub

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);