xref: /dflybsd-src/usr.bin/getopt/getopt.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
1*86d7f5d3SJohn Marino /* $FreeBSD: src/usr.bin/getopt/getopt.c,v 1.4.2.2 2001/07/30 10:16:38 dd Exp $ */
2*86d7f5d3SJohn Marino /* $DragonFly: src/usr.bin/getopt/getopt.c,v 1.4 2004/10/23 13:33:36 eirikn Exp $ */
3*86d7f5d3SJohn Marino 
4*86d7f5d3SJohn Marino #include <stdio.h>
5*86d7f5d3SJohn Marino #include <stdlib.h>
6*86d7f5d3SJohn Marino #include <unistd.h>
7*86d7f5d3SJohn Marino 
8*86d7f5d3SJohn Marino int
main(int argc,char ** argv)9*86d7f5d3SJohn Marino main(int argc, char **argv)
10*86d7f5d3SJohn Marino {
11*86d7f5d3SJohn Marino 	int c;
12*86d7f5d3SJohn Marino 	int status = 0;
13*86d7f5d3SJohn Marino 
14*86d7f5d3SJohn Marino 	optind = 2;	/* Past the program name and the option letters. */
15*86d7f5d3SJohn Marino 	while ((c = getopt(argc, argv, argv[1])) != -1)
16*86d7f5d3SJohn Marino 		switch (c) {
17*86d7f5d3SJohn Marino 		case '?':
18*86d7f5d3SJohn Marino 			status = 1;	/* getopt routine gave message */
19*86d7f5d3SJohn Marino 			break;
20*86d7f5d3SJohn Marino 		default:
21*86d7f5d3SJohn Marino 			if (optarg != NULL)
22*86d7f5d3SJohn Marino 				printf(" -%c %s", c, optarg);
23*86d7f5d3SJohn Marino 			else
24*86d7f5d3SJohn Marino 				printf(" -%c", c);
25*86d7f5d3SJohn Marino 			break;
26*86d7f5d3SJohn Marino 		}
27*86d7f5d3SJohn Marino 	printf(" --");
28*86d7f5d3SJohn Marino 	for (; optind < argc; optind++)
29*86d7f5d3SJohn Marino 		printf(" %s", argv[optind]);
30*86d7f5d3SJohn Marino 	printf("\n");
31*86d7f5d3SJohn Marino 	return(status);
32*86d7f5d3SJohn Marino }
33