No point parsing the properties if we can't get the devnode to apply them later. Plus, this makes future additions easier to slot in. --- src/udev/udev-builtin-keyboard.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c index 8ab1be8..b7c8791 100644 --- a/src/udev/udev-builtin-keyboard.c +++ b/src/udev/udev-builtin-keyboard.c @@ -71,6 +71,14 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo unsigned map_count = 0; unsigned release[1024]; unsigned release_count = 0; + const char *node; + + node = udev_device_get_devnode(dev); + + if (!node) { + log_error("Error, no device node for '%s'", udev_device_get_syspath(dev)); + return EXIT_FAILURE; + } udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) { const char *key; @@ -124,17 +132,10 @@ static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], boo } if (map_count > 0 || release_count > 0) { - const char *node; int fd; unsigned i; - node = udev_device_get_devnode(dev); - if (!node) { - log_error("Error, no device node for '%s'", udev_device_get_syspath(dev)); - return EXIT_FAILURE; - } - - fd = open(udev_device_get_devnode(dev), O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); + fd = open(node, O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); if (fd < 0) { log_error_errno(errno, "Error, opening device '%s': %m", node); return EXIT_FAILURE; -- 2.3.2 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel