X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=udev-remove.c;h=dc6fcfc331e7c8d16305dd45f4fd9497f4c6aea0;hb=dd64e26b0c88892b367f57c4c7a7484e35641c7c;hp=195b9874111b2269e0746082984810bb32722ab1;hpb=ef672b3dc450846d540cf1a0519fe273bbd62e5f;p=elogind.git diff --git a/udev-remove.c b/udev-remove.c index 195b98741..dc6fcfc33 100644 --- a/udev-remove.c +++ b/udev-remove.c @@ -29,6 +29,7 @@ #include #include "udev.h" +#include "udev_lib.h" #include "udev_version.h" #include "udev_dbus.h" #include "logging.h" @@ -103,7 +104,7 @@ static int delete_node(struct udevice *dev) delete_path(filename); foreach_strpart(dev->symlink, " ", pos, len) { - strnfieldcpy(linkname, pos, len+1); + strfieldcpymax(linkname, pos, len+1); strfieldcpy(filename, udev_root); strfieldcat(filename, linkname); @@ -149,6 +150,7 @@ int udev_remove_device(char *path, char *subsystem) dbg("name is '%s'", dev.name); udevdb_delete_dev(path); + dev_d_send(&dev, subsystem); sysbus_send_remove(dev.name, path); retval = delete_node(&dev);