Jeff King <peff@xxxxxxxx> writes: > Yeah, I agree it is funny to have a "maybe noop, maybe exit" function. > Perhaps a different name would help? I'd expect show_usage_help() to > always do what the name says. Maybe check_help_option() or something? maybe_show_usage_help()? >> +void show_usage_help(int ac, const char **av, >> + const char * const *usagestr, >> + const struct option *opts) >> +{ >> + if (ac == 2 && !strcmp(av[1], "-h")) { >> + usage_with_options_internal(NULL, usagestr, opts, 0, 0); >> + exit(0); >> + } >> +} > > I think parse-options will exit(129) in this case, and that's what t0012 > insists upon. Yeah, but the test can be adjusted to updated reality if needed. In this case, the command is doing what the end-user asked it to do, and if we were writing the system from scratch, 0 would certainly be the right exit status in this case. If hit usage_with_options() because the command line option supplied by the user was nonsense, we should exit with non-zero, but I am not sure if exit(129) is a good idea here.