chiark / gitweb /
terminal: remove dead code checking O_WRONLY
[elogind.git] / src / libsystemd-terminal / idev-evdev.c
index 9e2dc811ef426ab5b927064a8bb6efbc4de554f7..18c48ee59259ab16319427619ece2854994fc27f 100644 (file)
@@ -41,7 +41,7 @@ typedef struct unmanaged_evdev unmanaged_evdev;
 typedef struct managed_evdev managed_evdev;
 
 struct idev_evdev {
-        struct idev_element element;
+        idev_element element;
         struct libevdev *evdev;
         int fd;
         sd_event_source *fd_src;
@@ -52,12 +52,12 @@ struct idev_evdev {
 };
 
 struct unmanaged_evdev {
-        struct idev_evdev evdev;
+        idev_evdev evdev;
         char *devnode;
 };
 
 struct managed_evdev {
-        struct idev_evdev evdev;
+        idev_evdev evdev;
         dev_t devnum;
 
         sd_bus_slot *slot_pause_device;
@@ -307,18 +307,14 @@ static int idev_evdev_resume(idev_evdev *evdev, int dev_fd) {
 
         flags = fcntl(fd, F_GETFL, 0);
         if (flags < 0)
-                return r;
+                return -errno;
 
         flags &= O_ACCMODE;
         if (flags == O_WRONLY)
                 return -EACCES;
 
         evdev->element.readable = true;
-        evdev->element.writable = true;
-        if (flags == O_RDONLY)
-                evdev->element.writable = false;
-        else if (flags == O_WRONLY)
-                evdev->element.readable = false;
+        evdev->element.writable = !(flags & O_RDONLY);
 
         /*
          * TODO: We *MUST* re-sync the device so we get a delta of the changed
@@ -858,7 +854,6 @@ static int managed_evdev_new(idev_element **out, idev_session *s, struct udev_de
         int r;
 
         assert_return(s, -EINVAL);
-        assert_return(s->context->sysbus, -EINVAL);
         assert_return(s->managed, -EINVAL);
         assert_return(s->context->sysbus, -EINVAL);
         assert_return(ud, -EINVAL);