From ce7e2f15162f4a47766f97275dcce8fc1bff72e9 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 23 Aug 2013 10:25:08 +1000 Subject: [PATCH] Rewrite libevdev_is_event_code to avoid signed/unsigned comparison Signed-off-by: Peter Hutterer --- libevdev/libevdev.c | 11 +++++++---- 1 file 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* -- 2.34.1