[PATCH] dix: do not use bit-wise operators on the boolean result of BitIsOn
Peter Hutterer
peter.hutterer at who-t.net
Tue Nov 30 15:04:44 PST 2010
On Tue, Nov 30, 2010 at 07:06:55PM +0100, Ferry Huberts wrote:
> From: Ferry Huberts <ferry.huberts at pelagic.nl>
>
> 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 at pelagic.nl>
> ---
> dix/getevents.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/dix/getevents.c b/dix/getevents.c
> index f09d31c..25889de 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -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;
> }
> --
> 1.7.3.2
merged, thanks.
Cheers,
Peter
More information about the xorg-devel
mailing list