1*0bd1216cSderaadt /* $OpenBSD: getopt.c,v 1.10 2015/10/09 01:37:07 deraadt Exp $ */
22e60ceceSjmc
32e60ceceSjmc /*
42e60ceceSjmc * This material, written by Henry Spencer, was released by him
52e60ceceSjmc * into the public domain and is thus not subject to any copyright.
62e60ceceSjmc */
71258a77dSderaadt
8df930be7Sderaadt #include <stdio.h>
970ef01f6Sdavid #include <stdlib.h>
10c3e1e82eSderaadt #include <unistd.h>
111d36a22dSderaadt #include <err.h>
12df930be7Sderaadt
13c3e1e82eSderaadt int
main(int argc,char * argv[])141837a5caSderaadt main(int argc, char *argv[])
15df930be7Sderaadt {
16df930be7Sderaadt extern int optind;
17df930be7Sderaadt extern char *optarg;
18df930be7Sderaadt int c;
19df930be7Sderaadt int status = 0;
20df930be7Sderaadt
21*0bd1216cSderaadt if (pledge("stdio", NULL) == -1)
22*0bd1216cSderaadt err(1, "pledge");
231d36a22dSderaadt
24df930be7Sderaadt optind = 2; /* Past the program name and the option letters. */
2572799b18Smillert while ((c = getopt(argc, argv, argv[1])) != -1)
26df930be7Sderaadt switch (c) {
27df930be7Sderaadt case '?':
28df930be7Sderaadt status = 1; /* getopt routine gave message */
29df930be7Sderaadt break;
30df930be7Sderaadt default:
31df930be7Sderaadt if (optarg != NULL)
32df930be7Sderaadt printf(" -%c %s", c, optarg);
33df930be7Sderaadt else
34df930be7Sderaadt printf(" -%c", c);
35df930be7Sderaadt break;
36df930be7Sderaadt }
37df930be7Sderaadt printf(" --");
38df930be7Sderaadt for (; optind < argc; optind++)
39df930be7Sderaadt printf(" %s", argv[optind]);
40df930be7Sderaadt printf("\n");
41df930be7Sderaadt exit(status);
42df930be7Sderaadt }
43