X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fudevadm-test.c;h=809adb6d9a32a130086a856311f0c4c5d2a1a932;hb=ec3281d3b681b002dfe1a4bea0532a504e37557a;hp=cd75fad674dd72dbdf5ef400d381bc7d10dae037;hpb=7643ac9a8add1f07ffc237c054feb443b5612717;p=elogind.git diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c index cd75fad67..809adb6d9 100644 --- a/src/udev/udevadm-test.c +++ b/src/udev/udevadm-test.c @@ -25,24 +25,22 @@ #include #include #include -#include #include #include #include "udev.h" +#include "udev-util.h" -static int adm_test(struct udev *udev, int argc, char *argv[]) -{ +static int adm_test(struct udev *udev, int argc, char *argv[]) { int resolve_names = 1; char filename[UTIL_PATH_SIZE]; const char *action = "add"; const char *syspath = NULL; - struct udev_event *event = NULL; - struct udev_device *dev = NULL; - struct udev_rules *rules = NULL; struct udev_list_entry *entry; + _cleanup_udev_rules_unref_ struct udev_rules *rules = NULL; + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; sigset_t mask, sigmask_orig; - int err; int rc = 0, c; static const struct option options[] = { @@ -52,7 +50,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) {} }; - log_debug("version %s\n", VERSION); + log_debug("version %s", VERSION); while((c = getopt_long(argc, argv, "a:N:h", options, NULL)) >= 0) switch (c) { @@ -68,7 +66,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) resolve_names = -1; } else { fprintf(stderr, "resolve-names must be early, late or never\n"); - log_error("resolve-names must be early, late or never\n"); + log_error("resolve-names must be early, late or never"); exit(EXIT_FAILURE); } break; @@ -138,25 +136,20 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) goto out; } - err = udev_event_execute_rules(event, rules, &sigmask_orig); + udev_event_execute_rules(event, 60 * USEC_PER_SEC, rules, &sigmask_orig); udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); - if (err == 0) { - udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { - char program[UTIL_PATH_SIZE]; + udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { + char program[UTIL_PATH_SIZE]; - udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); - printf("run: '%s'\n", program); - } + udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); + printf("run: '%s'\n", program); } out: if (event != NULL && event->fd_signal >= 0) close(event->fd_signal); - udev_event_unref(event); - udev_device_unref(dev); - udev_rules_unref(rules); udev_builtin_exit(udev); return rc; }