X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udevtrigger.c;h=e530a61c0bf5a35e3c24d334d98d83a7b93e1dc4;hb=34bb5d057c99fa433392e0d5c17f604c8c111381;hp=9345a06ab7b0c530cb37cca26d4db368d4f928cc;hpb=04cc3a81d02af4d131b9c92defd7538f22089774;p=elogind.git diff --git a/udevtrigger.c b/udevtrigger.c index 9345a06ab..e530a61c0 100644 --- a/udevtrigger.c +++ b/udevtrigger.c @@ -359,6 +359,7 @@ static void scan_failed(void) int main(int argc, char *argv[], char *envp[]) { int i; + int failed = 0; logging_init("udevtrigger"); udev_config_init(); @@ -373,19 +374,24 @@ int main(int argc, char *argv[], char *envp[]) } else if (strcmp(arg, "--dry-run") == 0 || strcmp(arg, "-n") == 0) { dry_run = 1; } else if (strcmp(arg, "--retry-failed") == 0 || strcmp(arg, "-F") == 0) { - scan_failed(); - exec_lists(); + failed = 1; + } else if (strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) { + printf("Usage: udevtrigger [--help] [--verbose] [--dry-run] [--retry-failed]\n"); goto exit; } else { - fprintf(stderr, "Usage: udevtrigger [--verbose] [--dry-run] [--retry-failed]\n"); - goto exit; + fprintf(stderr, "unrecognized option '%s'\n", arg); + err("unrecognized option '%s'\n", arg); } } - /* default action */ - scan_bus(); - scan_class(); - scan_block(); + if (failed) + scan_failed(); + else { + /* default action */ + scan_bus(); + scan_class(); + scan_block(); + } exec_lists(); exit: