fixed bug with undefined behaviour when shifting left by 32 or more
authorHolger Schemel <info@artsoft.org>
Sun, 21 Nov 2021 23:13:01 +0000 (00:13 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 22 Jan 2022 16:58:28 +0000 (17:58 +0100)
commit5bed0c59a91d32e2e82def3a95625b26bb8610a4
tree308de75e8f2ef0c4774772929df2365ad5d43546
parent1585a632e023aab713302ff6ea671b75875830a5
fixed bug with undefined behaviour when shifting left by 32 or more

The C99 standard says that the result of shifting a number by the
width in bits (or more) of the operand is undefined. For intel
processors, the shift count is masked to five bits (masked with 31),
so trying to left shift a 32-bit value for 32 bits or more does not
result in zero, as it might be expected (at least not on intel CPUs).
src/files.c