[PATCH evdev] Don't crop long value from EvdevBitIsSet.
walter harms
wharms at bfs.de
Wed Nov 2 04:29:51 PDT 2011
Am 02.11.2011 00:52, schrieb Peter Hutterer:
> Introduced in xf86-input-evdev-2.6.0-26-g4969389
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> Cutting long to int for the return value loses us some values, notably in
> the ABS_MT ranges.
>
> src/evdev.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/evdev.c b/src/evdev.c
> index f593df0..6ab1a18 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -190,7 +190,7 @@ static size_t EvdevCountBits(unsigned long *array, size_t nlongs)
>
> static inline int EvdevBitIsSet(const unsigned long *array, int bit)
> {
> - return array[bit / LONG_BITS] & (1LL << (bit % LONG_BITS));
> + return !!(array[bit / LONG_BITS] & (1LL << (bit % LONG_BITS)));
> }
>
> static inline void EvdevSetBit(unsigned long *array, int bit)
hi,
i have never seen that !! notation. perhaps (array == 0) would be more readable and
not suprise to much people ?
re,
wh
More information about the xorg-devel
mailing list