42
44
" -L, --limited=STRING limited multiple option",
43
45
" --limited-interval=STRING limited multiple option (with interval)",
44
46
" --big-limited-interval=STRING\n limited multiple option (with interval)",
45
" --limited-open-right=STRING\n limited multiple option (with interval right \n open)",
46
" --limited-open-left=STRING\n limited multiple option (with interval left \n open)",
47
" --limited-open-right=STRING\n limited multiple option (with interval right\n open)",
48
" --limited-open-left=STRING\n limited multiple option (with interval left\n open)",
47
49
" -f, --float=FLOAT float option (default=`15000')",
48
50
" --no-short-opt=STRING string option with no short",
49
51
" -n, --noarg multiple option with no arg",
683
688
test_multiple_cmd_parser_required2 (struct gengetopt_args_info *args_info, const char *prog_name, const char *additional_error)
690
int error_occurred = 0;
686
691
FIX_UNUSED (additional_error);
688
693
/* checks for required options */
689
694
if (check_multiple_option_occurrences(prog_name, args_info->string_given, args_info->string_min, args_info->string_max, "'--string' ('-s')"))
692
697
if (! args_info->int_given)
694
699
fprintf (stderr, "%s: '--int' ('-i') option required%s\n", prog_name, (additional_error ? additional_error : ""));
698
703
if (check_multiple_option_occurrences(prog_name, args_info->int_given, args_info->int_min, args_info->int_max, "'--int' ('-i')"))
701
706
if (check_multiple_option_occurrences(prog_name, args_info->short_given, args_info->short_min, args_info->short_max, "'--short' ('-S')"))
704
709
if (check_multiple_option_occurrences(prog_name, args_info->long_given, args_info->long_min, args_info->long_max, "'--long' ('-l')"))
707
712
if (check_multiple_option_occurrences(prog_name, args_info->longlong_given, args_info->longlong_min, args_info->longlong_max, "'--longlong'"))
710
715
if (check_multiple_option_occurrences(prog_name, args_info->limited_given, args_info->limited_min, args_info->limited_max, "'--limited' ('-L')"))
713
718
if (check_multiple_option_occurrences(prog_name, args_info->limited_interval_given, args_info->limited_interval_min, args_info->limited_interval_max, "'--limited-interval'"))
716
721
if (check_multiple_option_occurrences(prog_name, args_info->big_limited_interval_given, args_info->big_limited_interval_min, args_info->big_limited_interval_max, "'--big-limited-interval'"))
719
724
if (check_multiple_option_occurrences(prog_name, args_info->limited_open_right_given, args_info->limited_open_right_min, args_info->limited_open_right_max, "'--limited-open-right'"))
722
727
if (check_multiple_option_occurrences(prog_name, args_info->limited_open_left_given, args_info->limited_open_left_min, args_info->limited_open_left_max, "'--limited-open-left'"))
725
730
if (check_multiple_option_occurrences(prog_name, args_info->float_given, args_info->float_min, args_info->float_max, "'--float' ('-f')"))
728
733
if (check_multiple_option_occurrences(prog_name, args_info->no_short_opt_given, args_info->no_short_opt_min, args_info->no_short_opt_max, "'--no-short-opt'"))
731
736
if (check_multiple_option_occurrences(prog_name, args_info->noarg_given, args_info->noarg_min, args_info->noarg_max, "'--noarg' ('-n')"))
734
739
if (check_multiple_option_occurrences(prog_name, args_info->noarg_noshort_given, args_info->noarg_noshort_min, args_info->noarg_noshort_max, "'--noarg-noshort'"))
737
742
if (check_multiple_option_occurrences(prog_name, args_info->optarg_given, args_info->optarg_min, args_info->optarg_max, "'--optarg' ('-M')"))
740
745
if (check_multiple_option_occurrences(prog_name, args_info->optarg_noshort_given, args_info->optarg_noshort_min, args_info->optarg_noshort_max, "'--optarg-noshort'"))
744
749
/* checks for dependences among options */
751
return error_occurred;
825
830
if (val) *((float *)field) = (float)strtod (val, &stop_char);
827
832
case ARG_LONGLONG:
828
#ifdef HAVE_LONG_LONG
829
if (val) *((long long int*)field) = (long long int) strtol (val, &stop_char, 0);
833
#if defined(HAVE_LONG_LONG) || defined(HAVE_LONG_LONG_INT)
834
if (val) *((long long int*)field) = (long long int) strtoll (val, &stop_char, 0);
831
836
if (val) *((long *)field) = (long)strtol (val, &stop_char, 0);