diff options
Diffstat (limited to 'libc/unistd/getopt.c')
-rw-r--r-- | libc/unistd/getopt.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/unistd/getopt.c b/libc/unistd/getopt.c index c28afda0d..754e86f25 100644 --- a/libc/unistd/getopt.c +++ b/libc/unistd/getopt.c @@ -162,6 +162,10 @@ int opterr = 1; int optopt = '?'; +/* Keep a global copy of all internal members of getopt_data. */ + +static struct _getopt_data getopt_data; + #ifndef __GNU_LIBRARY__ @@ -1154,9 +1158,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longind, int long_only) { int result; - struct _getopt_data getopt_data; - memset(&getopt_data, 0, sizeof(getopt_data)); getopt_data.optind = optind; getopt_data.opterr = opterr; |