summaryrefslogtreecommitdiff
path: root/libc/unistd/getopt_vars.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/unistd/getopt_vars.c')
-rw-r--r--libc/unistd/getopt_vars.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/libc/unistd/getopt_vars.c b/libc/unistd/getopt_vars.c
new file mode 100644
index 000000000..6dcb73ad7
--- /dev/null
+++ b/libc/unistd/getopt_vars.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+
+/*
+ * Getopt vars shared between getopt and gnu_getopt
+ */
+
+/* For communication from `getopt' to the caller.
+ When `getopt' finds an option that takes an argument,
+ the argument value is returned here.
+ Also, when `ordering' is RETURN_IN_ORDER,
+ each non-option ARGV-element is returned here. */
+
+char *optarg = NULL;
+
+/* Index in ARGV of the next element to be scanned.
+ This is used for communication to and from the caller
+ and for communication between successive calls to `getopt'.
+
+ On entry to `getopt', zero means this is the first call; initialize.
+
+ When `getopt' returns EOF, this is the index of the first of the
+ non-option elements that the caller should itself scan.
+
+ Otherwise, `optind' communicates from one call to the next
+ how much of ARGV has been scanned so far. */
+
+/* XXX 1003.2 says this must be 1 before any call. */
+int optind = 0;
+
+
+/* Callers store zero here to inhibit the error message
+ for unrecognized options. */
+
+int opterr = 1;
+
+/* Set to an option character which was unrecognized.
+ This must be initialized on some systems to avoid linking in the
+ system's own getopt implementation. */
+
+int optopt = '?';