Merge branch 'rs/parse-options-help-text-is-optional' into next

It may be tempting to leave the help text NULL for a command line
option that is either hidden or too obvious, but "git subcmd -h"
and "git subcmd --help-all" would have segfaulted if done so.  Now
the help text is optional.

* rs/parse-options-help-text-is-optional:
  parse-options: allow omitting option help text
This commit is contained in:
Junio C Hamano
2023-08-29 13:57:29 -07:00

View File

@ -1186,14 +1186,15 @@ static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t
continue;
}
for (cp = _(opts->help); *cp; cp = np) {
for (cp = opts->help ? _(opts->help) : ""; *cp; cp = np) {
np = strchrnul(cp, '\n');
usage_padding(outfile, pos);
fprintf(outfile, "%.*s\n", (int)(np - cp), cp);
if (*np)
np++;
usage_padding(outfile, pos);
fwrite(cp, 1, np - cp, outfile);
pos = 0;
}
fputc('\n', outfile);
if (positive_name) {
if (find_option_by_long_name(all_opts, positive_name))