chiark / gitweb /
udev: event - introduce and use internal udev_device_shallow_clone()
[elogind.git] / src / udev / udev-event.c
index e5b2259fda1aa7806329287789201068e19f87fd..d6c9cfc60dfe4a1fcbc33378b7ddaa5ed08caf74 100644 (file)
@@ -809,11 +809,8 @@ void udev_event_execute_rules(struct udev_event *event,
                 if (major(udev_device_get_devnum(dev)) != 0)
                         udev_node_remove(dev);
         } else {
-                event->dev_db = udev_device_new(event->udev);
+                event->dev_db = udev_device_shallow_clone(dev);
                 if (event->dev_db != NULL) {
-                        udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev));
-                        udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev));
-                        udev_device_set_devnum(event->dev_db, udev_device_get_devnum(dev));
                         udev_device_read_db(event->dev_db, NULL);
                         udev_device_set_info_loaded(event->dev_db);