From 368082520b25722575783f06879fb5fc2e4c219c Mon Sep 17 00:00:00 2001 From: Robert Milasan Date: Sat, 13 Sep 2014 15:18:37 +0200 Subject: [PATCH] udev: always resolve correctly database names on 'change' event Signed-off-by: Robert Milasan --- src/libudev/libudev-device.c | 2 +- src/libudev/libudev-private.h | 1 + src/udev/udev-event.c | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c index d61a2ad..2699374 100644 --- a/src/libudev/libudev-device.c +++ b/src/libudev/libudev-device.c @@ -161,7 +161,7 @@ _public_ dev_t udev_device_get_devnum(struct udev_device *udev_device) return udev_device->devnum; } -static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) +int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) { char num[32]; diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h index 35ea7ba..05a6410 100644 --- a/src/libudev/libudev-private.h +++ b/src/libudev/libudev-private.h @@ -59,6 +59,7 @@ uid_t udev_device_get_devnode_uid(struct udev_device *udev_device); gid_t udev_device_get_devnode_gid(struct udev_device *udev_device); int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem); int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath); +int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum); int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink); void udev_device_cleanup_devlinks_list(struct udev_device *udev_device); struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value); diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c index e8d6676..2cf0763 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -812,6 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, 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); -- 1.8.4.5