chiark / gitweb /
[PATCH] remove udev_lib dependency from udevsend, which makes it smaller
[elogind.git] / udevstart.c
index c4ec0f7b7abd132399d7fc77f73e2f46d5db7c20..e05680aa93d051859c46f8508901b655358376e8 100644 (file)
@@ -103,16 +103,22 @@ static int add_device(char *devpath, char *subsystem)
        setenv("DEVPATH", devpath, 1);
        setenv("ACTION", "add", 1);
 
-       snprintf(path, SYSFS_PATH_MAX, "%s%s", sysfs_path, devpath);
+       snprintf(path, SYSFS_PATH_MAX-1, "%s%s", sysfs_path, devpath);
        class_dev = sysfs_open_class_device_path(path);
        if (class_dev == NULL) {
                dbg ("sysfs_open_class_device_path failed");
                return -ENODEV;
        }
 
-       udev_set_values(&udev, devpath, subsystem);
+       udev_set_values(&udev, devpath, subsystem, "add");
+       udev_add_device(&udev, class_dev);
 
-       return udev_add_device(&udev, class_dev);
+       /* run scripts */
+       dev_d_execute(&udev);
+
+       sysfs_close_class_device(class_dev);
+
+       return 0;
 }
 
 static void exec_list(struct list_head *device_list)