evdev: Use temporary variable when passing libevdev pointer
authorJonas Ådahl <jadahl@gmail.com>
Mon, 24 Mar 2014 22:12:36 +0000 (23:12 +0100)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 22 Apr 2014 21:02:53 +0000 (23:02 +0200)
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
src/evdev.c

index 901b3104763b7f1f98abbeb69635e580689038cc..34c6798f3e06ee9c1f57d4ffd4a8196e1b6f9ec5 100644 (file)
@@ -543,6 +543,7 @@ evdev_device_dispatch(void *data)
 static int
 evdev_configure_device(struct evdev_device *device)
 {
+       struct libevdev *evdev = device->evdev;
        const struct input_absinfo *absinfo;
        int has_abs, has_rel, has_mt;
        int has_button, has_keyboard, has_touch;
@@ -555,14 +556,14 @@ evdev_configure_device(struct evdev_device *device)
        has_keyboard = 0;
        has_touch = 0;
 
-       if (libevdev_has_event_type(device->evdev, EV_ABS)) {
+       if (libevdev_has_event_type(evdev, EV_ABS)) {
 
-               if ((absinfo = libevdev_get_abs_info(device->evdev, ABS_X))) {
+               if ((absinfo = libevdev_get_abs_info(evdev, ABS_X))) {
                        device->abs.min_x = absinfo->minimum;
                        device->abs.max_x = absinfo->maximum;
                        has_abs = 1;
                }
-               if ((absinfo = libevdev_get_abs_info(device->evdev, ABS_Y))) {
+               if ((absinfo = libevdev_get_abs_info(evdev, ABS_Y))) {
                        device->abs.min_y = absinfo->minimum;
                        device->abs.max_y = absinfo->maximum;
                        has_abs = 1;
@@ -570,19 +571,20 @@ evdev_configure_device(struct evdev_device *device)
                 /* We only handle the slotted Protocol B in weston.
                    Devices with ABS_MT_POSITION_* but not ABS_MT_SLOT
                    require mtdev for conversion. */
-               if (libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_POSITION_X) &&
-                   libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_POSITION_Y)) {
-                       absinfo = libevdev_get_abs_info(device->evdev, ABS_MT_POSITION_X);
+               if (libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X) &&
+                   libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) {
+                       absinfo = libevdev_get_abs_info(evdev, ABS_MT_POSITION_X);
                        device->abs.min_x = absinfo->minimum;
                        device->abs.max_x = absinfo->maximum;
-                       absinfo = libevdev_get_abs_info(device->evdev, ABS_MT_POSITION_Y);
+                       absinfo = libevdev_get_abs_info(evdev, ABS_MT_POSITION_Y);
                        device->abs.min_y = absinfo->minimum;
                        device->abs.max_y = absinfo->maximum;
                        device->is_mt = 1;
                        has_touch = 1;
                        has_mt = 1;
 
-                       if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_SLOT)) {
+                       if (!libevdev_has_event_code(evdev,
+                                                    EV_ABS, ABS_MT_SLOT)) {
                                device->mtdev = mtdev_new_open(device->fd);
                                if (!device->mtdev)
                                        return -1;
@@ -592,13 +594,13 @@ evdev_configure_device(struct evdev_device *device)
                        }
                }
        }
-       if (libevdev_has_event_code(device->evdev, EV_REL, REL_X) ||
-           libevdev_has_event_code(device->evdev, EV_REL, REL_Y))
+       if (libevdev_has_event_code(evdev, EV_REL, REL_X) ||
+           libevdev_has_event_code(evdev, EV_REL, REL_Y))
                        has_rel = 1;
 
-       if (libevdev_has_event_type(device->evdev, EV_KEY)) {
-               if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOOL_FINGER) &&
-                   !libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOOL_PEN) &&
+       if (libevdev_has_event_type(evdev, EV_KEY)) {
+               if (libevdev_has_event_code(evdev, EV_KEY, BTN_TOOL_FINGER) &&
+                   !libevdev_has_event_code(evdev, EV_KEY, BTN_TOOL_PEN) &&
                    (has_abs || has_mt)) {
                        device->dispatch = evdev_mt_touchpad_create(device);
                        log_info("input device '%s', %s is a touchpad\n",
@@ -607,21 +609,21 @@ evdev_configure_device(struct evdev_device *device)
                for (i = KEY_ESC; i < KEY_MAX; i++) {
                        if (i >= BTN_MISC && i < KEY_OK)
                                continue;
-                       if (libevdev_has_event_code(device->evdev, EV_KEY, i)) {
+                       if (libevdev_has_event_code(evdev, EV_KEY, i)) {
                                has_keyboard = 1;
                                break;
                        }
                }
-               if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOUCH))
+               if (libevdev_has_event_code(evdev, EV_KEY, BTN_TOUCH))
                        has_touch = 1;
                for (i = BTN_MISC; i < BTN_JOYSTICK; i++) {
-                       if (libevdev_has_event_code(device->evdev, EV_KEY, i)) {
+                       if (libevdev_has_event_code(evdev, EV_KEY, i)) {
                                has_button = 1;
                                break;
                        }
                }
        }
-       if (libevdev_has_event_type(device->evdev, EV_LED))
+       if (libevdev_has_event_type(evdev, EV_LED))
                has_keyboard = 1;
 
        if ((has_abs || has_rel) && has_button) {