summaryrefslogtreecommitdiff
path: root/libevdev/libevdev-uinput.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-08-29 15:38:53 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-08-30 17:40:54 +1000
commitb77fea9c8943fd77893a68ec66028edfbe8a7654 (patch)
treebf6e0234c5c267d110b662ac2e4b06508feb95f3 /libevdev/libevdev-uinput.c
parenta8871e7aea98ec9fd0b148259a2a3543cdd27118 (diff)
downloadlibevdev-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.c6
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;