static void
getopt_long_loop (int argc, const char **argv,
- const char *options, const struct option *long_options,
- const char **p_value, const char **q_value,
- int *non_options_count, const char **non_options,
- int *unrecognized)
+ const char *options, const struct option *long_options,
+ const char **p_value, const char **q_value,
+ int *non_options_count, const char **non_options,
+ int *unrecognized)
{
int option_index;
int c;
opterr = 0;
while ((c = getopt_long (argc, (char **) argv, options, long_options,
- &option_index))
- != -1)
+ &option_index))
+ != -1)
{
switch (c)
- {
- case 0:
- /* An option with a non-NULL flag pointer was processed. */
- break;
- case 'a':
- a_seen++;
- break;
- case 'b':
- b_seen = 1;
- break;
- case 'p':
- *p_value = optarg;
- break;
- case 'q':
- *q_value = optarg;
- break;
- case '\1':
- /* Must only happen with option '-' at the beginning. */
- ASSERT (options[0] == '-');
- non_options[(*non_options_count)++] = optarg;
- break;
- case '?':
- *unrecognized = optopt;
- break;
- default:
- *unrecognized = c;
- break;
- }
+ {
+ case 0:
+ /* An option with a non-NULL flag pointer was processed. */
+ break;
+ case 'a':
+ a_seen++;
+ break;
+ case 'b':
+ b_seen = 1;
+ break;
+ case 'p':
+ *p_value = optarg;
+ break;
+ case 'q':
+ *q_value = optarg;
+ break;
+ case '\1':
+ /* Must only happen with option '-' at the beginning. */
+ ASSERT (options[0] == '-');
+ non_options[(*non_options_count)++] = optarg;
+ break;
+ case '?':
+ *unrecognized = optopt;
+ break;
+ default:
+ *unrecognized = c;
+ break;
+ }
}
}
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "ab", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 0);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "ab", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 1);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "ab", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 1);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "ab", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 2);
ASSERT (b_seen == 1);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "p:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "p:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 1);
ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "p::q::", long_options_optional,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "p::q::", long_options_optional,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp::q::", long_options_optional,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 0);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 0);
ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "-p") == 0);
ASSERT (strcmp (argv[2], "billy") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "-p") == 0);
ASSERT (strcmp (argv[2], "billy") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "donald") == 0);
ASSERT (strcmp (argv[2], "-p") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "donald") == 0);
ASSERT (strcmp (argv[2], "-p") == 0);
ASSERT (q_value == NULL);
if (non_options_count == 2)
{
- /* glibc behaviour. */
- ASSERT (non_options_count == 2);
- ASSERT (strcmp (non_options[0], "donald") == 0);
- ASSERT (strcmp (non_options[1], "duck") == 0);
- ASSERT (unrecognized == 0);
- ASSERT (optind == 7);
+ /* glibc behaviour. */
+ ASSERT (non_options_count == 2);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 7);
}
else
{
- /* Another valid behaviour. */
- ASSERT (non_options_count == 7);
- ASSERT (strcmp (non_options[0], "donald") == 0);
- ASSERT (strcmp (non_options[1], "duck") == 0);
- ASSERT (strcmp (non_options[2], "-b") == 0);
- ASSERT (strcmp (non_options[3], "foo") == 0);
- ASSERT (strcmp (non_options[4], "-q") == 0);
- ASSERT (strcmp (non_options[5], "johnny") == 0);
- ASSERT (strcmp (non_options[6], "bar") == 0);
- ASSERT (unrecognized == 0);
- ASSERT (optind == 12);
+ /* Another valid behaviour. */
+ ASSERT (non_options_count == 7);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (strcmp (non_options[2], "-b") == 0);
+ ASSERT (strcmp (non_options[3], "foo") == 0);
+ ASSERT (strcmp (non_options[4], "-q") == 0);
+ ASSERT (strcmp (non_options[5], "johnny") == 0);
+ ASSERT (strcmp (non_options[6], "bar") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 12);
}
}
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:-", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "-p") == 0);
ASSERT (strcmp (argv[2], "billy") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "donald") == 0);
ASSERT (strcmp (argv[2], "-p") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "donald") == 0);
ASSERT (strcmp (argv[2], "-p") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "abp:q:+", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (strcmp (argv[0], "program") == 0);
ASSERT (strcmp (argv[1], "-p") == 0);
ASSERT (strcmp (argv[2], "billy") == 0);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "p::", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 0);
ASSERT (b_seen == 0);
ASSERT (p_value == NULL);
argv[argc] = NULL;
optind = start;
getopt_long_loop (argc, argv, "-ab", long_options_required,
- &p_value, &q_value,
- &non_options_count, non_options, &unrecognized);
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
ASSERT (a_seen == 1);
ASSERT (b_seen == 1);
ASSERT (p_value == NULL);