diff options
author | Rich Salz <rsalz@openssl.org> | 2016-09-10 15:46:48 -0400 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-09-13 10:14:01 -0400 |
commit | 77297115cbaf72533cce99e444542192850e06db (patch) | |
tree | 0b0f7a3f27e1301326010d834b08cd35a80203a7 /apps | |
parent | fa4618a2805e7115cf47d0cf0d15cb7b3c944bba (diff) | |
download | openssl-77297115cbaf72533cce99e444542192850e06db.tar.gz |
Add --missing-help to list command
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/openssl.c | 25 |
1 files changed, 24 insertions, 1 deletions
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; } |