diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evdev.c | 16 | ||||
-rw-r--r-- | src/evdev.h | 14 |
2 files changed, 16 insertions, 14 deletions
diff --git a/src/evdev.c b/src/evdev.c index 2c73c67..e48edd9 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1202,11 +1202,11 @@ EvdevCacheCompare(InputInfoPtr pInfo, BOOL compare) int i; char name[1024] = {0}; - long bitmask[NBITS(EV_MAX)] = {0}; - long key_bitmask[NBITS(KEY_MAX)] = {0}; - long rel_bitmask[NBITS(REL_MAX)] = {0}; - long abs_bitmask[NBITS(ABS_MAX)] = {0}; - long led_bitmask[NBITS(LED_MAX)] = {0}; + long bitmask[NLONGS(EV_MAX)] = {0}; + long key_bitmask[NLONGS(KEY_MAX)] = {0}; + long rel_bitmask[NLONGS(REL_MAX)] = {0}; + long abs_bitmask[NLONGS(ABS_MAX)] = {0}; + long led_bitmask[NLONGS(LED_MAX)] = {0}; struct input_absinfo absinfo[ABS_MAX]; if (ioctl(pInfo->fd, @@ -1302,9 +1302,9 @@ error: static int EvdevProbe(InputInfoPtr pInfo) { - long key_bitmask[NBITS(KEY_MAX)] = {0}; - long rel_bitmask[NBITS(REL_MAX)] = {0}; - long abs_bitmask[NBITS(ABS_MAX)] = {0}; + long key_bitmask[NLONGS(KEY_MAX)] = {0}; + long rel_bitmask[NLONGS(REL_MAX)] = {0}; + long abs_bitmask[NLONGS(ABS_MAX)] = {0}; int i, has_axes, has_keys, num_buttons; int kernel24 = 0; EvdevPtr pEvdev = pInfo->private; diff --git a/src/evdev.h b/src/evdev.h index af88741..107dc77 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -47,7 +47,9 @@ #endif #define LONG_BITS (sizeof(long) * 8) -#define NBITS(x) (((x) + LONG_BITS - 1) / LONG_BITS) + +/* Number of longs needed to hold the given number of bits */ +#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS) /* axis specific data for wheel emulation */ typedef struct { @@ -120,11 +122,11 @@ typedef struct { /* Cached info from device. */ char name[1024]; - long bitmask[NBITS(EV_MAX)]; - long key_bitmask[NBITS(KEY_MAX)]; - long rel_bitmask[NBITS(REL_MAX)]; - long abs_bitmask[NBITS(ABS_MAX)]; - long led_bitmask[NBITS(LED_MAX)]; + long bitmask[NLONGS(EV_MAX)]; + long key_bitmask[NLONGS(KEY_MAX)]; + long rel_bitmask[NLONGS(REL_MAX)]; + long abs_bitmask[NLONGS(ABS_MAX)]; + long led_bitmask[NLONGS(LED_MAX)]; struct input_absinfo absinfo[ABS_MAX]; /* minor/major number */ |