diff options
Diffstat (limited to 'lib/getopt1.c')
| -rw-r--r-- | lib/getopt1.c | 189 | 
1 files changed, 89 insertions, 100 deletions
diff --git a/lib/getopt1.c b/lib/getopt1.c index bd3099e799..5501214262 100644 --- a/lib/getopt1.c +++ b/lib/getopt1.c @@ -58,19 +58,18 @@  #include <stdlib.h>  #endif -#ifndef	NULL +#ifndef NULL  #define NULL 0  #endif -int -getopt_long (argc, argv, options, long_options, opt_index) -     int argc; -     char *const *argv; -     const char *options; -     const struct option *long_options; -     int *opt_index; +int getopt_long(argc, argv, options, long_options, opt_index) int argc; +char *const *argv; +const char *options; +const struct option *long_options; +int *opt_index;  { -  return _getopt_internal (argc, argv, options, long_options, opt_index, 0); +	return _getopt_internal(argc, argv, options, long_options, opt_index, +				0);  }  /* Like getopt_long, but '-' as well as '--' can indicate a long option. @@ -78,110 +77,100 @@ getopt_long (argc, argv, options, long_options, opt_index)     but does match a short option, it is parsed as a short option     instead.  */ -int -getopt_long_only (argc, argv, options, long_options, opt_index) -     int argc; -     char *const *argv; -     const char *options; -     const struct option *long_options; -     int *opt_index; +int getopt_long_only(argc, argv, options, long_options, opt_index) int argc; +char *const *argv; +const char *options; +const struct option *long_options; +int *opt_index;  { -  return _getopt_internal (argc, argv, options, long_options, opt_index, 1); +	return _getopt_internal(argc, argv, options, long_options, opt_index, +				1);  } -#endif	/* Not ELIDE_CODE.  */ +#endif /* Not ELIDE_CODE.  */  #ifdef TEST  #include <stdio.h> -int -main (argc, argv) -     int argc; -     char **argv; +int main(argc, argv) int argc; +char **argv;  { -  int c; -  int digit_optind = 0; - -  while (1) -    { -      int this_option_optind = optind ? optind : 1; -      int option_index = 0; -      static struct option long_options[] = -      { -	{"add", 1, 0, 0}, -	{"append", 0, 0, 0}, -	{"delete", 1, 0, 0}, -	{"verbose", 0, 0, 0}, -	{"create", 0, 0, 0}, -	{"file", 1, 0, 0}, -	{0, 0, 0, 0} -      }; - -      c = getopt_long (argc, argv, "abc:d:0123456789", -		       long_options, &option_index); -      if (c == -1) -	break; - -      switch (c) -	{ -	case 0: -	  printf ("option %s", long_options[option_index].name); -	  if (optarg) -	    printf (" with arg %s", optarg); -	  printf ("\n"); -	  break; - -	case '0': -	case '1': -	case '2': -	case '3': -	case '4': -	case '5': -	case '6': -	case '7': -	case '8': -	case '9': -	  if (digit_optind != 0 && digit_optind != this_option_optind) -	    printf ("digits occur in two different argv-elements.\n"); -	  digit_optind = this_option_optind; -	  printf ("option %c\n", c); -	  break; - -	case 'a': -	  printf ("option a\n"); -	  break; - -	case 'b': -	  printf ("option b\n"); -	  break; - -	case 'c': -	  printf ("option c with value `%s'\n", optarg); -	  break; - -	case 'd': -	  printf ("option d with value `%s'\n", optarg); -	  break; - -	case '?': -	  break; - -	default: -	  printf ("?? getopt returned character code 0%o ??\n", c); +	int c; +	int digit_optind = 0; + +	while (1) { +		int this_option_optind = optind ? optind : 1; +		int option_index = 0; +		static struct option long_options[] = { +			{"add", 1, 0, 0},    {"append", 0, 0, 0}, +			{"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, +			{"create", 0, 0, 0}, {"file", 1, 0, 0}, +			{0, 0, 0, 0}}; + +		c = getopt_long(argc, argv, "abc:d:0123456789", long_options, +				&option_index); +		if (c == -1) +			break; + +		switch (c) { +		case 0: +			printf("option %s", long_options[option_index].name); +			if (optarg) +				printf(" with arg %s", optarg); +			printf("\n"); +			break; + +		case '0': +		case '1': +		case '2': +		case '3': +		case '4': +		case '5': +		case '6': +		case '7': +		case '8': +		case '9': +			if (digit_optind != 0 +			    && digit_optind != this_option_optind) +				printf("digits occur in two different argv-elements.\n"); +			digit_optind = this_option_optind; +			printf("option %c\n", c); +			break; + +		case 'a': +			printf("option a\n"); +			break; + +		case 'b': +			printf("option b\n"); +			break; + +		case 'c': +			printf("option c with value `%s'\n", optarg); +			break; + +		case 'd': +			printf("option d with value `%s'\n", optarg); +			break; + +		case '?': +			break; + +		default: +			printf("?? getopt returned character code 0%o ??\n", c); +		}  	} -    } -  if (optind < argc) -    { -      printf ("non-option ARGV-elements: "); -      while (optind < argc) -	printf ("%s ", argv[optind++]); -      printf ("\n"); -    } +	if (optind < argc) { +		printf("non-option ARGV-elements: "); +		while (optind < argc) +			printf("%s ", argv[optind++]); +		printf("\n"); +	} -  exit (0); +	exit(0);  }  #endif /* TEST */  | 
