chiark / gitweb /
udevd: switch to common id_filename functions
[elogind.git] / libudev / libudev-device-private.c
index bf93834c10a7353eb03980caa04aad46bd4b581b..430e3e64d4dbe74049515bad6e3c19324cccb3c8 100644 (file)
@@ -34,8 +34,12 @@ static void udev_device_tag(struct udev_device *dev, const char *tag, bool add)
        util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/tags/", tag, "/", id, NULL);
 
        if (add) {
+               int fd;
+
                util_create_path(udev, filename);
-               symlink(udev_device_get_devpath(dev), filename);
+               fd = open(filename, O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444);
+               if (fd >= 0)
+                       close(fd);
        } else {
                unlink(filename);
        }