summaryrefslogtreecommitdiff
path: root/libc/unistd/getopt.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-05-20 20:32:27 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-05-20 20:32:27 +0000
commit43eb269ab1d216074e18dadc74c9671398dfe938 (patch)
tree937470bd2097d85323b2d1ae3eedde5734ed13d2 /libc/unistd/getopt.c
parent380783acef86885b2a3d8b9058598a2dd22e2dba (diff)
getopt: do not needlessly use static structure.
Reorder structure members and change some of them into smallints to reduce bss and text: text data bss dec hex filename - 2403 12 40 2455 997 libc/unistd/getopt.o + 2252 12 0 2264 8d8 libc/unistd/getopt.o
Diffstat (limited to 'libc/unistd/getopt.c')
-rw-r--r--libc/unistd/getopt.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libc/unistd/getopt.c b/libc/unistd/getopt.c
index 754e86f25..c28afda0d 100644
--- a/libc/unistd/getopt.c
+++ b/libc/unistd/getopt.c
@@ -162,10 +162,6 @@ 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__
@@ -1158,7 +1154,9 @@ _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;