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 {
val[0] = 0;
val = &val[1];
}
- udev_enumerate_add_match_attr(udev_enumerate, attr, val);
+ udev_enumerate_add_match_sysattr(udev_enumerate, attr, val);
break;
case 'A':
util_strlcpy(attr, optarg, sizeof(attr));
val[0] = 0;
val = &val[1];
}
- udev_enumerate_add_nomatch_attr(udev_enumerate, attr, val);
+ udev_enumerate_add_nomatch_sysattr(udev_enumerate, attr, val);
break;
case 'h':
printf("Usage: udevadm trigger OPTIONS\n"