diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-23 17:14:14 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-07-23 17:14:14 +0000 |
commit | bdc88fdc6844ee6890e31ba4cf56800becc8c682 (patch) | |
tree | 69301e47c6493ad275d72e57ce96467ee13d7ecc /util-linux | |
parent | 9fe9c1a6d8e66032a9783f98606167764e8ab296 (diff) | |
download | busybox-w32-bdc88fdc6844ee6890e31ba4cf56800becc8c682.tar.gz busybox-w32-bdc88fdc6844ee6890e31ba4cf56800becc8c682.tar.bz2 busybox-w32-bdc88fdc6844ee6890e31ba4cf56800becc8c682.zip |
rework long option handling. saves ~1.2k
function old new delta
tar_longopts - 222 +222
static.udhcpc_longopts - 192 +192
start_stop_daemon_longopts - 150 +150
getopt32 1045 1185 +140
static.wget_longopts - 111 +111
static.od_longopts - 105 +105
getopt_longopts - 96 +96
install_longopts - 67 +67
ipcalc_longopts - 63 +63
static.hwclock_longopts - 54 +54
ftpgetput_longopts - 52 +52
static.dumpleases_longopts - 32 +32
env_longopts - 31 +31
runparts_longopts - 30 +30
mv_longopts - 24 +24
mkdir_longopts - 19 +19
find_pair 164 180 +16
bb_null_long_options - 16 +16
setconsole_longopts - 10 +10
display_speed 91 98 +7
collect_blk 467 474 +7
show_color 4 1 -3
ls_main 913 904 -9
bb_default_long_options 16 - -16
ls_color_opt 32 10 -22
setconsole_long_options 32 - -32
arith 2077 2030 -47
mv_long_options 48 - -48
mkdir_long_options 48 - -48
env_long_options 48 - -48
static.options 248 184 -64
runparts_long_options 80 - -80
ftpgetput_long_options 96 - -96
static.hwclock_long_options 112 - -112
install_long_options 112 - -112
static.long_options 144 - -144
static.wget_long_options 160 - -160
longopts 160 - -160
static.arg_options 304 - -304
tar_long_options 320 - -320
long_options 384 - -384
------------------------------------------------------------------------------
(add/remove: 17/15 grow/shrink: 4/5 up/down: 1444/-2209) Total: -765 bytes
text data bss dec hex filename
782618 1328 11900 795846 c24c6 busybox_old
781354 1328 11900 794582 c1fd6 busybox_unstripped
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/getopt.c | 25 | ||||
-rw-r--r-- | util-linux/hwclock.c | 19 |
2 files changed, 21 insertions, 23 deletions
diff --git a/util-linux/getopt.c b/util-linux/getopt.c index a5e674368..5ee13ec8b 100644 --- a/util-linux/getopt.c +++ b/util-linux/getopt.c | |||
@@ -266,18 +266,17 @@ static void set_shell(const char *new_shell) | |||
266 | */ | 266 | */ |
267 | 267 | ||
268 | #if ENABLE_GETOPT_LONG | 268 | #if ENABLE_GETOPT_LONG |
269 | static const struct option longopts[] = { | 269 | static const char getopt_longopts[] = |
270 | { "options", required_argument, NULL, 'o' }, | 270 | "options\0" Required_argument "o" |
271 | { "longoptions", required_argument, NULL, 'l' }, | 271 | "longoptions\0" Required_argument "l" |
272 | { "quiet", no_argument, NULL, 'q' }, | 272 | "quiet\0" No_argument "q" |
273 | { "quiet-output", no_argument, NULL, 'Q' }, | 273 | "quiet-output\0" No_argument "Q" |
274 | { "shell", required_argument, NULL, 's' }, | 274 | "shell\0" Required_argument "s" |
275 | { "test", no_argument, NULL, 'T' }, | 275 | "test\0" No_argument "T" |
276 | { "unquoted", no_argument, NULL, 'u' }, | 276 | "unquoted\0" No_argument "u" |
277 | { "alternative", no_argument, NULL, 'a' }, | 277 | "alternative\0" No_argument "a" |
278 | { "name", required_argument, NULL, 'n' }, | 278 | "name\0" Required_argument "n" |
279 | { NULL, 0, NULL, 0 } | 279 | "\0"; |
280 | }; | ||
281 | #endif | 280 | #endif |
282 | 281 | ||
283 | int getopt_main(int argc, char *argv[]); | 282 | int getopt_main(int argc, char *argv[]); |
@@ -317,7 +316,7 @@ int getopt_main(int argc, char *argv[]) | |||
317 | #if !ENABLE_GETOPT_LONG | 316 | #if !ENABLE_GETOPT_LONG |
318 | opt = getopt32(argc, argv, "+o:n:qQs:Tu", &optstr, &name, &s_arg); | 317 | opt = getopt32(argc, argv, "+o:n:qQs:Tu", &optstr, &name, &s_arg); |
319 | #else | 318 | #else |
320 | applet_long_options = longopts; | 319 | applet_long_options = getopt_longopts; |
321 | opt_complementary = "l::"; | 320 | opt_complementary = "l::"; |
322 | opt = getopt32(argc, argv, "+o:n:qQs:Tual:", | 321 | opt = getopt32(argc, argv, "+o:n:qQs:Tual:", |
323 | &optstr, &name, &s_arg, &l_arg); | 322 | &optstr, &name, &s_arg, &l_arg); |
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c index 882a0c55a..ff696a3d7 100644 --- a/util-linux/hwclock.c +++ b/util-linux/hwclock.c | |||
@@ -178,16 +178,15 @@ int hwclock_main(int argc, char **argv) | |||
178 | int utc; | 178 | int utc; |
179 | 179 | ||
180 | #if ENABLE_FEATURE_HWCLOCK_LONG_OPTIONS | 180 | #if ENABLE_FEATURE_HWCLOCK_LONG_OPTIONS |
181 | static const struct option hwclock_long_options[] = { | 181 | static const char hwclock_longopts[] = |
182 | { "localtime", 0, 0, 'l' }, | 182 | "localtime\0" No_argument "l" |
183 | { "utc", 0, 0, 'u' }, | 183 | "utc\0" No_argument "u" |
184 | { "show", 0, 0, 'r' }, | 184 | "show\0" No_argument "r" |
185 | { "hctosys", 0, 0, 's' }, | 185 | "hctosys\0" No_argument "s" |
186 | { "systohc", 0, 0, 'w' }, | 186 | "systohc\0" No_argument "w" |
187 | { "file", 1, 0, 'f' }, | 187 | "file\0" Required_argument "f" |
188 | { 0, 0, 0, 0 } | 188 | "\0"; |
189 | }; | 189 | applet_long_options = hwclock_longopts; |
190 | applet_long_options = hwclock_long_options; | ||
191 | #endif | 190 | #endif |
192 | opt_complementary = "r--ws:w--rs:s--wr:l--u:u--l"; | 191 | opt_complementary = "r--ws:w--rs:s--wr:l--u:u--l"; |
193 | opt = getopt32(argc, argv, "lurswf:", &rtcname); | 192 | opt = getopt32(argc, argv, "lurswf:", &rtcname); |