Use libevdev_get_event_type_max from libevdev_get_event_code_name
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 23 Aug 2013 00:20:50 +0000 (10:20 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 29 Aug 2013 01:36:20 +0000 (11:36 +1000)
This will check for invalid types for us, and we can do a better check
for signed/unsigned comparison.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/libevdev.c

index c316e34ff2bcf7cebdd94e5251b69d6a3f7cfa9e..fbfd8f071937270e6fa161a46ccd596ade2090e6 100644 (file)
@@ -1190,10 +1190,9 @@ libevdev_get_event_type_name(unsigned int type)
 const char*
 libevdev_get_event_code_name(unsigned int type, unsigned int code)
 {
-       if (type > EV_MAX)
-               return NULL;
+       int max = libevdev_get_event_type_max(type);
 
-       if (code > ev_max[type])
+       if (max == -1 || code > (unsigned int)max)
                return NULL;
 
        return event_type_map[type][code];