chiark / gitweb /
update IMPORT= file/stdout property parsing
[elogind.git] / udev / udevadm-trigger.c
index 2c4954761ee9f940c045c0859d106e137235e332..eb46a2983c046a427134d14036eb66d689e72885 100644 (file)
@@ -71,32 +71,24 @@ static int scan_failed(struct udev_enumerate *udev_enumerate)
        udev_queue = udev_queue_new(udev);
        if (udev_queue == NULL)
                return -1;
-       udev_list_entry_foreach(list_entry, udev_queue_get_failed_list_entry(udev_queue)) {
-               struct udev_device *device;
-
-               device = udev_device_new_from_syspath(udev, udev_list_entry_get_name(list_entry));
-               if (device == NULL)
-                       continue;
-               info(udev, "add '%s'\n", udev_device_get_syspath(device));
-               udev_enumerate_add_device(udev_enumerate, device);
-               udev_device_unref(device);
-       }
+       udev_list_entry_foreach(list_entry, udev_queue_get_failed_list_entry(udev_queue))
+               udev_enumerate_add_syspath(udev_enumerate, udev_list_entry_get_name(list_entry));
        return 0;
 }
 
 int udevadm_trigger(struct udev *udev, int argc, char *argv[])
 {
        static const struct option options[] = {
-               { "verbose", 0, NULL, 'v' },
-               { "dry-run", 0, NULL, 'n' },
-               { "type", 1, NULL, 't' },
-               { "retry-failed", 0, NULL, 'F' },
-               { "action", 1, NULL, 'c' },
-               { "subsystem-match", 1, NULL, 's' },
-               { "subsystem-nomatch", 1, NULL, 'S' },
-               { "attr-match", 1, NULL, 'a' },
-               { "attr-nomatch", 1, NULL, 'A' },
-               { "help", 0, NULL, 'h' },
+               { "verbose", no_argument, NULL, 'v' },
+               { "dry-run", no_argument, NULL, 'n' },
+               { "type", required_argument, NULL, 't' },
+               { "retry-failed", no_argument, NULL, 'F' },
+               { "action", required_argument, NULL, 'c' },
+               { "subsystem-match", required_argument, NULL, 's' },
+               { "subsystem-nomatch", required_argument, NULL, 'S' },
+               { "attr-match", required_argument, NULL, 'a' },
+               { "attr-nomatch", required_argument, NULL, 'A' },
+               { "help", no_argument, NULL, 'h' },
                {}
        };
        enum {