aboutsummaryrefslogtreecommitdiff
path: root/manual/examples/longopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'manual/examples/longopt.c')
-rw-r--r--manual/examples/longopt.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/manual/examples/longopt.c b/manual/examples/longopt.c
index 9d6bd53c0f..e6567c7caf 100644
--- a/manual/examples/longopt.c
+++ b/manual/examples/longopt.c
@@ -17,21 +17,21 @@ main (argc, argv)
static struct option long_options[] =
{
/* These options set a flag. */
- {"verbose", 0, &verbose_flag, 1},
- {"brief", 0, &verbose_flag, 0},
+ {"verbose", no_argument, &verbose_flag, 1},
+ {"brief", no_argument, &verbose_flag, 0},
/* These options don't set a flag.
We distinguish them by their indices. */
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
+ {"add", required_argument, 0, 'a'},
+ {"append", no_argument, 0, 'b'},
+ {"delete", required_argument, 0, 'd'},
+ {"create", no_argument, 0, 'c'},
+ {"file", required_argument, 0, 'f'},
{0, 0, 0, 0}
};
/* @code{getopt_long} stores the option index here. */
int option_index = 0;
- c = getopt_long (argc, argv, "abc:d:",
+ c = getopt_long (argc, argv, "abc:d:f:",
long_options, &option_index);
/* Detect the end of the options. */
@@ -66,6 +66,10 @@ main (argc, argv)
printf ("option -d with value `%s'\n", optarg);
break;
+ case 'f':
+ printf ("option -f with value `%s'\n", optarg);
+ break;
+
case '?':
/* @code{getopt_long} already printed an error message. */
break;