(svn r26475) -Fix: potentially undefined shifts in NewGRF code
This commit is contained in:
@@ -6736,7 +6736,7 @@ static void ParamSet(ByteReader *buf)
|
||||
if ((int32)src2 < 0) {
|
||||
res = src1 >> -(int32)src2;
|
||||
} else {
|
||||
res = src1 << src2;
|
||||
res = src1 << (src2 & 0x1F); // Same behaviour as in EvalAdjustT, mask 'value' to 5 bits, which should behave the same on all architectures.
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -6744,7 +6744,7 @@ static void ParamSet(ByteReader *buf)
|
||||
if ((int32)src2 < 0) {
|
||||
res = (int32)src1 >> -(int32)src2;
|
||||
} else {
|
||||
res = (int32)src1 << src2;
|
||||
res = (int32)src1 << (src2 & 0x1F); // Same behaviour as in EvalAdjustT, mask 'value' to 5 bits, which should behave the same on all architectures.
|
||||
}
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user