From: Rich Salz Date: Sat, 10 Sep 2016 19:46:48 +0000 (-0400) Subject: Add --missing-help to list command X-Git-Tag: OpenSSL_1_1_1-pre1~3547 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77297115cbaf72533cce99e444542192850e06db;p=openssl Add --missing-help to list command Reviewed-by: Andy Polyakov --- diff --git a/apps/openssl.c b/apps/openssl.c index 0f7176fd72..4f4175c4a0 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -296,12 +296,30 @@ static void list_md_fn(const EVP_MD *m, } } +static void list_missing_help(void) +{ + const FUNCTION *fp; + const OPTIONS *o; + + for (fp = functions; fp->name != NULL; fp++) { + if ((o = fp->help) == NULL) { + BIO_printf(bio_out, "%s *\n", fp->name); + continue; + } + for ( ; o->name != NULL; o++) { + if (o->helpstr == NULL) + BIO_printf(bio_out, "%s %s\n", fp->name, o->name); + } + } +} + + /* Unified enum for help and list commands. */ typedef enum HELPLIST_CHOICE { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_COMMANDS, OPT_DIGEST_COMMANDS, OPT_DIGEST_ALGORITHMS, OPT_CIPHER_COMMANDS, OPT_CIPHER_ALGORITHMS, - OPT_PK_ALGORITHMS, OPT_DISABLED + OPT_PK_ALGORITHMS, OPT_DISABLED, OPT_MISSING_HELP } HELPLIST_CHOICE; OPTIONS list_options[] = { @@ -318,6 +336,8 @@ OPTIONS list_options[] = { "List of public key algorithms"}, {"disabled", OPT_DISABLED, '-', "List of disabled features"}, + {"missing-help", OPT_MISSING_HELP, '-', + "List missing detailed help strings"}, {NULL} }; @@ -358,6 +378,9 @@ int list_main(int argc, char **argv) case OPT_DISABLED: list_disabled(); break; + case OPT_MISSING_HELP: + list_missing_help(); + break; } done = 1; }