* patch by Rika: SwapEndian([u]int16) has unnecessary “and $FFFF”, resolves #39814

This commit is contained in:
florian 2022-06-27 22:45:01 +02:00
parent 54ba991c11
commit f92102a5f2

View File

@ -2667,13 +2667,13 @@ function SwapEndian(const AValue: SmallInt): SmallInt;{$ifdef SYSTEMINLINE}inlin
{ is turned into "longint(AValue) shr 8", so if AValue < 0 then }
{ the sign bits from the upper 16 bits are shifted in rather than }
{ zeroes. }
Result := SmallInt(((Word(AValue) shr 8) or (Word(AValue) shl 8)) and $ffff);
Result := SmallInt((Word(AValue) shr 8) or (Word(AValue) shl 8));
end;
{$ifndef cpujvm}
function SwapEndian(const AValue: Word): Word;{$ifdef SYSTEMINLINE}inline;{$endif}
begin
Result := ((AValue shr 8) or (AValue shl 8)) and $ffff;
Result := (AValue shr 8) or (AValue shl 8);
end;
{$endif}