diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-08-29 15:38:53 +1000 |
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-08-30 17:40:54 +1000 |
| commit | b77fea9c8943fd77893a68ec66028edfbe8a7654 (patch) | |
| tree | bf6e0234c5c267d110b662ac2e4b06508feb95f3 /libevdev/libevdev-uinput.c | |
| parent | a8871e7aea98ec9fd0b148259a2a3543cdd27118 (diff) | |
| download | libevdev-b77fea9c8943fd77893a68ec66028edfbe8a7654.tar.gz | |
Fix off-by-one errors when dealing with *_MAX values.
LED_MAX, KEY_MAX, ABS_MT_MAX, etc. are all valid event codes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Diffstat (limited to 'libevdev/libevdev-uinput.c')
| -rw-r--r-- | libevdev/libevdev-uinput.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libevdev/libevdev-uinput.c b/libevdev/libevdev-uinput.c index c07fe0c..de2833e 100644 --- a/libevdev/libevdev-uinput.c +++ b/libevdev/libevdev-uinput.c @@ -60,7 +60,7 @@ set_evbits(const struct libevdev *dev, int fd, struct uinput_user_dev *uidev) int rc = 0; unsigned int type; - for (type = 0; type < EV_MAX; type++) { + for (type = 0; type < EV_CNT; type++) { unsigned int code; int max; int uinput_bit; @@ -96,7 +96,7 @@ set_evbits(const struct libevdev *dev, int fd, struct uinput_user_dev *uidev) goto out; } - for (code = 0; code < (unsigned int)max; code++) { + for (code = 0; code <= (unsigned int)max; code++) { if (!libevdev_has_event_code(dev, type, code)) continue; @@ -127,7 +127,7 @@ set_props(const struct libevdev *dev, int fd, struct uinput_user_dev *uidev) unsigned int prop; int rc = 0; - for (prop = 0; prop < INPUT_PROP_MAX; prop++) { + for (prop = 0; prop <= INPUT_PROP_MAX; prop++) { if (!libevdev_has_property(dev, prop)) continue; |
