From f19a068ded953e58994ec3251e9984b9e75bfcd2 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:45:11 +0200 Subject: [PATCH] (main): Added long options. Deleted -?, and fixed handling of bad options. Renamed -s to -q (long option --quiet). Rev: nettle/examples/eratosthenes.c:1.10 --- examples/eratosthenes.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/examples/eratosthenes.c b/examples/eratosthenes.c index 287aaa35..293aa0da 100644 --- a/examples/eratosthenes.c +++ b/examples/eratosthenes.c @@ -243,12 +243,23 @@ main (int argc, char **argv) int verbose = 0; int c; - while ( (c = getopt(argc, argv, "?svb:")) != -1) + enum { OPT_HELP = 300 }; + static const struct option options[] = + { + /* Name, args, flag, val */ + { "help", no_argument, NULL, OPT_HELP }, + { "verbose", no_argument, NULL, 'v' }, + { "block-size", required_argument, NULL, 'b' }, + { "quiet", required_argument, NULL, 'q' }, + { NULL, 0, NULL, 0} + }; + + while ( (c = getopt_long(argc, argv, "svb:", options, NULL)) != -1) switch (c) { - case '?': + case OPT_HELP: usage(); - return EXIT_FAILURE; + return EXIT_SUCCESS; case 'b': block_nbits = CHAR_BIT * atosize(optarg); if (!block_nbits) @@ -258,7 +269,7 @@ main (int argc, char **argv) } break; - case 's': + case 'q': silent = 1; break; @@ -266,6 +277,9 @@ main (int argc, char **argv) verbose++; break; + case '?': + return EXIT_FAILURE; + default: abort(); } -- GitLab