From 2f5356bdead64aefb48c8934cd690517c2baffe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Fri, 22 Oct 2010 09:41:11 +0200 Subject: [PATCH] * tools/pkcs1-conv.c (main): Deleted short alias -? for --help, and fixed handling of bad options. * tools/sexp-conv.c (parse_options): Likewise. Rev: nettle/tools/pkcs1-conv.c:1.4 Rev: nettle/tools/sexp-conv.c:1.5 --- tools/pkcs1-conv.c | 35 +++++++++++++++++++++++------------ tools/sexp-conv.c | 11 +++++++---- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/tools/pkcs1-conv.c b/tools/pkcs1-conv.c index 158df5d4..7a37e3e0 100644 --- a/tools/pkcs1-conv.c +++ b/tools/pkcs1-conv.c @@ -42,6 +42,7 @@ enum object_type { + /* Use a range of values which also work as option id:s */ RSA_PRIVATE_KEY = 0x200, RSA_PUBLIC_KEY, DSA_PRIVATE_KEY, @@ -571,6 +572,13 @@ convert_file(struct nettle_buffer *buffer, } } +enum { + OPT_PRIVATE_RSA = RSA_PRIVATE_KEY, + OPT_PUBLIC_RSA = RSA_PUBLIC_KEY, + OPT_PRIVATE_DSA = DSA_PRIVATE_KEY, + OPT_PUBLIC_KEY = GENERAL_PUBLIC_KEY, + OPT_HELP = 0x300, +}; int main(int argc, char **argv) @@ -583,17 +591,17 @@ main(int argc, char **argv) static const struct option options[] = { /* Name, args, flag, val */ - { "help", no_argument, NULL, '?' }, + { "help", no_argument, NULL, OPT_HELP }, { "version", no_argument, NULL, 'V' }, - { "private-rsa-key", no_argument, NULL, RSA_PRIVATE_KEY }, - { "public-rsa-key", no_argument, NULL, RSA_PUBLIC_KEY }, - { "private-dsa-key", no_argument, NULL, DSA_PRIVATE_KEY }, - { "public-key-info", no_argument, NULL, GENERAL_PUBLIC_KEY }, + { "private-rsa-key", no_argument, NULL, OPT_PRIVATE_RSA }, + { "public-rsa-key", no_argument, NULL, OPT_PUBLIC_RSA }, + { "private-dsa-key", no_argument, NULL, OPT_PRIVATE_DSA }, + { "public-key-info", no_argument, NULL, OPT_PUBLIC_KEY }, { "base-64", no_argument, NULL, 'b' }, { NULL, 0, NULL, 0 } }; - while ( (c = getopt_long(argc, argv, "V?b", options, NULL)) != -1) + while ( (c = getopt_long(argc, argv, "Vb", options, NULL)) != -1) { switch (c) { @@ -604,20 +612,23 @@ main(int argc, char **argv) base64 = 1; break; - case RSA_PRIVATE_KEY: - case RSA_PUBLIC_KEY: - case DSA_PRIVATE_KEY: - case GENERAL_PUBLIC_KEY: + case OPT_PRIVATE_RSA: + case OPT_PUBLIC_RSA: + case OPT_PRIVATE_DSA: + case OPT_PUBLIC_KEY: + /* Same values as the type codes. */ type = c; break; - case '?': + case OPT_HELP: printf("FIXME: Usage information.\n"); return EXIT_SUCCESS; + case '?': + return EXIT_FAILURE; case 'V': printf("pkcs1-conv (" PACKAGE_STRING ")\n"); - exit (EXIT_SUCCESS); + return EXIT_SUCCESS; } } diff --git a/tools/sexp-conv.c b/tools/sexp-conv.c index 4b08a9cd..b0d9ef80 100644 --- a/tools/sexp-conv.c +++ b/tools/sexp-conv.c @@ -216,7 +216,7 @@ struct conv_options const struct nettle_hash *hash; }; -enum { OPT_ONCE = 300, OPT_HASH, OPT_LOCK }; +enum { OPT_ONCE = 300, OPT_HASH, OPT_LOCK, OPT_HELP }; static int match_argument(const char *given, const char *name) @@ -244,7 +244,7 @@ parse_options(struct conv_options *o, static const struct option options[] = { /* Name, args, flag, val */ - { "help", no_argument, NULL, '?' }, + { "help", no_argument, NULL, OPT_HELP }, { "version", no_argument, NULL, 'V' }, { "once", no_argument, NULL, OPT_ONCE }, { "syntax", required_argument, NULL, 's' }, @@ -266,7 +266,7 @@ parse_options(struct conv_options *o, int option_index = 0; unsigned i; - c = getopt_long(argc, argv, "V?s:w:", options, &option_index); + c = getopt_long(argc, argv, "Vs:w:", options, &option_index); switch (c) { @@ -278,6 +278,9 @@ parse_options(struct conv_options *o, die("sexp-conv: Command line takes no arguments, only options.\n"); return; + case '?': + exit(EXIT_FAILURE); + case 'w': { char *end; @@ -333,7 +336,7 @@ parse_options(struct conv_options *o, o->lock = 1; break; #endif - case '?': + case OPT_HELP: printf("Usage: sexp-conv [OPTION...]\n" " Conversion: sexp-conv [OPTION...] <INPUT-SEXP\n" " Fingerprinting: sexp-conv --hash=HASH <INPUT-SEXP\n\n" -- GitLab