diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-08-23 10:25:08 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-08-29 11:36:20 +1000 |
commit | ce7e2f15162f4a47766f97275dcce8fc1bff72e9 (patch) | |
tree | faa5c5af83d987487637cd6f581af432627ecc73 | |
parent | fa4cadae60e41923e81107e06fb1814edace36bd (diff) |
Rewrite libevdev_is_event_code to avoid signed/unsigned comparison
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | libevdev/libevdev.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index fbfd8f0..61795f6 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -1172,10 +1172,13 @@ libevdev_is_event_type(const struct input_event *ev, unsigned int type) int libevdev_is_event_code(const struct input_event *ev, unsigned int type, unsigned int code) { - return type < EV_MAX && - ev->type == type && - (type == EV_SYN || code <= libevdev_get_event_type_max(type)) && - ev->code == code; + int max; + + if (!libevdev_is_event_type(ev, type)) + return 0; + + max = libevdev_get_event_type_max(type); + return (max > -1 && code <= (unsigned int)max && ev->code == code); } const char* |