Fix a -Wlogical-not-parentheses warning

The function returns the number of lowest zero bits of a 32-bit value
and shifts the value by that number. By the time it reaches last
condition x can be zero if and only if the passed value was zero and
hence we can immediately return 32.

Initially the condition were likely supposed to be `if (!(x & 1))` but
in this particular case it's the same as `!x` and subjectively it makes
more sense to just check if the number is zero. See discussion in
the #264.

See-also: https://mirror.git.trinitydesktop.org/gitea/TDE/tqt/pulls/264
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
(cherry picked from commit 709a2722bd)
r14.1.x
Alexander Golubev 6 days ago
parent 6446d21873
commit dfd0740aa1

@ -4430,7 +4430,7 @@ static int lo0bits(ULong *y)
if (!(x & 1)) {
k++;
x >>= 1;
if (!x & 1)
if (!x) // At this point x is zero if and only if the *y was zero
return 32;
}
*y = x;

Loading…
Cancel
Save