1
/* test_multiple.c test */
3
/* test options that can be given more than once */
9
#include "test_multiple_cmd.h"
11
static struct gengetopt_args_info args_info;
16
main (int argc, char **argv)
21
if (test_multiple_cmd_parser (argc, argv, &args_info) != 0) {
26
for (i = 0; i < args_info.string_given; ++i)
27
printf ("passed string: %s\n", args_info.string_arg[i]);
29
for (i = 0; i < args_info.int_given; ++i)
30
printf ("passed int: %d\n", args_info.int_arg[i]);
32
if (args_info.float_given)
34
for (i = 0; i < args_info.float_given; ++i)
35
printf ("passed float: %f\n", args_info.float_arg[i]);
38
if (args_info.float_arg)
39
printf ("default float: %f\n", args_info.float_arg[0]);
41
for (i = 0; i < args_info.no_short_opt_given; ++i)
42
printf ("passed no-short-opt: %s\n", args_info.no_short_opt_arg[i]);
44
printf ("noarg given %d times\n", args_info.noarg_given);
45
printf ("noarg_noshort given %d times\n", args_info.noarg_noshort_given);
47
printf ("optarg_given %d times\n", args_info.optarg_given);
48
for (i = 0; i < args_info.optarg_given; ++i)
49
printf ("optarg argument: %s\n",
50
(args_info.optarg_arg[i] ? args_info.optarg_arg[i] : "no arg given"));
52
printf ("longlong_given %d times\n", args_info.longlong_given);
53
for (i = 0; i < args_info.longlong_given; ++i)
54
cout << "longlong argument: " <<
55
args_info.longlong_arg[i] << endl;
57
printf ("optarg_noshort_given %d times\n", args_info.optarg_noshort_given);
58
for (i = 0; i < args_info.optarg_noshort_given; ++i)
59
printf ("optarg_noshort argument: %s\n",
60
(args_info.optarg_noshort_arg[i] ? args_info.optarg_noshort_arg[i] : "no arg given"));
62
if (args_info.file_save_given && test_multiple_cmd_parser_file_save (args_info.file_save_arg, &args_info) != EXIT_SUCCESS) {
68
test_multiple_cmd_parser_free (&args_info);