chiark / gitweb /
builtin: blkid - add missing ID_ prefix for PART_ENTRY_* keys
[elogind.git] / src / udev-event.c
index 227c186236ad487d56d02ddab69d011d87d42cea..7ecaf85536e26d7f5bb2769001dbc76d629d8592 100644 (file)
@@ -347,14 +347,17 @@ subst:
                                 l = util_strpcpy(&s, l, udev_device_get_devnode(dev));
                         break;
                 case SUBST_NAME: {
-                        size_t devlen = strlen(udev_get_dev_path(event->udev))+1;
-
                         if (event->name != NULL) {
                                 l = util_strpcpy(&s, l, event->name);
-                                dbg(event->udev, "substitute custom name '%s'\n", event->name);
-                        } else {
+                                dbg(event->udev, "substitute custom node name '%s'\n", event->name);
+                        } else if (udev_device_get_devnode(dev) != NULL) {
+                                size_t devlen = strlen(udev_get_dev_path(event->udev))+1;
+
                                 l = util_strpcpy(&s, l, &udev_device_get_devnode(dev)[devlen]);
-                                dbg(event->udev, "substitute name'%s'\n", &udev_device_get_devnode(dev)[devlen]);
+                                dbg(event->udev, "substitute node name'%s'\n", &udev_device_get_devnode(dev)[devlen]);
+                        } else {
+                                l = util_strpcpy(&s, l, udev_device_get_sysname(dev));
+                                dbg(event->udev, "substitute device name'%s'\n", udev_device_get_sysname(dev));
                         }
                         break;
                 }