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