dix: do not use bit-wise operators on the boolean result of BitIsOn
Performing bit-wise operations on a boolean amounts to mixing types, is confusing and basically incorrect; one should only perform logical operations on booleans. Performing such operations relies on the implementation detail that a boolean is in fact an integer and that its value FALSE is implemented as zero. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
5f34853d6f
commit
b16964910d
|
@ -112,12 +112,12 @@ set_button_up(DeviceIntPtr pDev, int button, int type)
|
|||
Bool
|
||||
button_is_down(DeviceIntPtr pDev, int button, int type)
|
||||
{
|
||||
int ret = 0;
|
||||
Bool ret = FALSE;
|
||||
|
||||
if (type & BUTTON_PROCESSED)
|
||||
ret |= BitIsOn(pDev->button->down, button);
|
||||
ret = ret || BitIsOn(pDev->button->down, button);
|
||||
if (type & BUTTON_POSTED)
|
||||
ret |= BitIsOn(pDev->button->postdown, button);
|
||||
ret = ret || BitIsOn(pDev->button->postdown, button);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -143,12 +143,12 @@ set_key_up(DeviceIntPtr pDev, int key_code, int type)
|
|||
Bool
|
||||
key_is_down(DeviceIntPtr pDev, int key_code, int type)
|
||||
{
|
||||
int ret = 0;
|
||||
Bool ret = FALSE;
|
||||
|
||||
if (type & KEY_PROCESSED)
|
||||
ret |= BitIsOn(pDev->key->down, key_code);
|
||||
ret = ret || BitIsOn(pDev->key->down, key_code);
|
||||
if (type & KEY_POSTED)
|
||||
ret |= BitIsOn(pDev->key->postdown, key_code);
|
||||
ret = ret || BitIsOn(pDev->key->postdown, key_code);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user