summaryrefslogtreecommitdiffstats
path: root/apps/openssl.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2016-09-10 15:46:48 -0400
committerRich Salz <rsalz@openssl.org>2016-09-13 10:14:01 -0400
commit77297115cbaf72533cce99e444542192850e06db (patch)
tree0b0f7a3f27e1301326010d834b08cd35a80203a7 /apps/openssl.c
parentfa4618a2805e7115cf47d0cf0d15cb7b3c944bba (diff)
Add --missing-help to list command
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'apps/openssl.c')
-rw-r--r--apps/openssl.c25
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;
}