diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-05-20 20:32:27 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-05-20 20:32:27 +0000 |
commit | 43eb269ab1d216074e18dadc74c9671398dfe938 (patch) | |
tree | 937470bd2097d85323b2d1ae3eedde5734ed13d2 /libc/unistd/getopt.c | |
parent | 380783acef86885b2a3d8b9058598a2dd22e2dba (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.c | 6 |
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; |