diff options
author | Tom Gundersen <teg@jklm.no> | 2015-03-05 17:44:12 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2015-03-09 22:50:44 +0100 |
commit | 3738cc858d6d1312f66a31d2f7652328bb317876 (patch) | |
tree | 89badcaa34dac623659b5b7b811a22057087db57 /src/libudev/libudev-device.c | |
parent | bd57b6de74c6ff77f0220bf08d43a7e41f4316e9 (diff) |
udev/libudev: event - move {OLD_,}INTERFACE handling from udevd to libudev
This should be internal to the library as it is only about reflecting the sysfs state in the udev_device.
Diffstat (limited to 'src/libudev/libudev-device.c')
-rw-r--r-- | src/libudev/libudev-device.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c index d0296b7ccb..978b03dd0d 100644 --- a/src/libudev/libudev-device.c +++ b/src/libudev/libudev-device.c @@ -1926,6 +1926,7 @@ void udev_device_set_db_persist(struct udev_device *udev_device) int udev_device_rename(struct udev_device *udev_device, const char *name) { _cleanup_free_ char *dirname = NULL; + const char *interface; char *new_syspath; int r; @@ -1942,6 +1943,13 @@ int udev_device_rename(struct udev_device *udev_device, const char *name) if (r < 0) return r; + interface = udev_device_get_property_value(udev_device, "INTERFACE"); + if (interface) { + /* like DEVPATH_OLD, INTERFACE_OLD is not saved to the db, but only stays around for the current event */ + udev_device_add_property(udev_device, "INTERFACE_OLD", interface); + udev_device_add_property(udev_device, "INTERFACE", name); + } + return 0; } |