richardphibel / rpms / systemd

Forked from rpms/systemd 2 years ago
Clone
dd65c9
From 7d6891da40f2f5cfbc5bf02b6a58dc49c1577373 Mon Sep 17 00:00:00 2001
dd65c9
From: Peter Hutterer <peter.hutterer@who-t.net>
dd65c9
Date: Fri, 20 Mar 2015 12:48:24 +1000
dd65c9
Subject: [PATCH] udev: builtin-keyboard: move fetching the device node up
dd65c9
dd65c9
No point parsing the properties if we can't get the devnode to apply them
dd65c9
later. Plus, this makes future additions easier to slot in.
dd65c9
dd65c9
(cherry picked from commit 753bd5c7ede5e74c21221fcf59de3ce320d6722d)
dd65c9
dd65c9
Resolves: #1500119
dd65c9
---
dd65c9
 src/udev/udev-builtin-keyboard.c | 16 ++++++++--------
dd65c9
 1 file changed, 8 insertions(+), 8 deletions(-)
dd65c9
dd65c9
diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c
dd65c9
index d8ee4cbb6..bde7bf07f 100644
dd65c9
--- a/src/udev/udev-builtin-keyboard.c
dd65c9
+++ b/src/udev/udev-builtin-keyboard.c
dd65c9
@@ -75,6 +75,13 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo
dd65c9
         unsigned map_count = 0;
dd65c9
         unsigned release[1024];
dd65c9
         unsigned release_count = 0;
dd65c9
+        const char *node;
dd65c9
+
dd65c9
+        node = udev_device_get_devnode(dev);
dd65c9
+        if (!node) {
dd65c9
+                log_error("Error, no device node for '%s'", udev_device_get_syspath(dev));
dd65c9
+                return EXIT_FAILURE;
dd65c9
+        }
dd65c9
 
dd65c9
         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) {
dd65c9
                 const char *key;
dd65c9
@@ -128,17 +135,10 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo
dd65c9
         }
dd65c9
 
dd65c9
         if (map_count > 0 || release_count > 0) {
dd65c9
-                const char *node;
dd65c9
                 int fd;
dd65c9
                 unsigned i;
dd65c9
 
dd65c9
-                node = udev_device_get_devnode(dev);
dd65c9
-                if (!node) {
dd65c9
-                        log_error("Error, no device node for '%s'", udev_device_get_syspath(dev));
dd65c9
-                        return EXIT_FAILURE;
dd65c9
-                }
dd65c9
-
dd65c9
-                fd = open(udev_device_get_devnode(dev), O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
dd65c9
+                fd = open(node, O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
dd65c9
                 if (fd < 0) {
dd65c9
                         log_error_errno(errno, "Error, opening device '%s': %m", node);
dd65c9
                         return EXIT_FAILURE;