diff options
author | Denis Vlasenko | 2007-07-23 17:14:14 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-07-23 17:14:14 +0000 |
commit | bdc88fdc6844ee6890e31ba4cf56800becc8c682 (patch) | |
tree | 69301e47c6493ad275d72e57ce96467ee13d7ecc /selinux | |
parent | 9fe9c1a6d8e66032a9783f98606167764e8ab296 (diff) | |
download | busybox-bdc88fdc6844ee6890e31ba4cf56800becc8c682.zip busybox-bdc88fdc6844ee6890e31ba4cf56800becc8c682.tar.gz |
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 'selinux')
-rw-r--r-- | selinux/chcon.c | 29 | ||||
-rw-r--r-- | selinux/runcon.c | 17 |
2 files changed, 22 insertions, 24 deletions
diff --git a/selinux/chcon.c b/selinux/chcon.c index a8a816b..689ec8c 100644 --- a/selinux/chcon.c +++ b/selinux/chcon.c @@ -105,20 +105,19 @@ skip: } #if ENABLE_FEATURE_CHCON_LONG_OPTIONS -static struct option chcon_options[] = { - { "recursive", 0, NULL, 'R' }, - { "changes", 0, NULL, 'c' }, - { "no-dereference", 0, NULL, 'h' }, - { "silent", 0, NULL, 'f' }, - { "quiet", 0, NULL, 'f' }, - { "user", 1, NULL, 'u' }, - { "role", 1, NULL, 'r' }, - { "type", 1, NULL, 't' }, - { "range", 1, NULL, 'l' }, - { "verbose", 0, NULL, 'v' }, - { "reference", 1, NULL, 0xff }, /* no short option */ - { NULL, 0, NULL, 0 }, -}; +static const char chcon_longopts[] = + "recursive\0" No_argument "R" + "changes\0" No_argument "c" + "no-dereference\0" No_argument "h" + "silent\0" No_argument "f" + "quiet\0" No_argument "f" + "user\0" Required_argument "u" + "role\0" Required_argument "r" + "type\0" Required_argument "t" + "range\0" Required_argument "l" + "verbose\0" No_argument "v" + "reference\0" Required_argument "\xff" /* no short option */ + "\0"; #endif int chcon_main(int argc, char **argv); @@ -129,7 +128,7 @@ int chcon_main(int argc, char **argv) int i, errors = 0; #if ENABLE_FEATURE_CHCON_LONG_OPTIONS - applet_long_options = chcon_options; + applet_long_options = chcon_longopts; #endif opt_complementary = "-1" /* at least 1 param */ ":?" /* error if exclusivity constraints are violated */ diff --git a/selinux/runcon.c b/selinux/runcon.c index 741c7bb..3502dcd 100644 --- a/selinux/runcon.c +++ b/selinux/runcon.c @@ -69,15 +69,14 @@ static context_t runcon_compute_new_context(char *user, char *role, char *type, } #if ENABLE_FEATURE_RUNCON_LONG_OPTIONS -static const struct option runcon_options[] = { - { "user", 1, NULL, 'u' }, - { "role", 1, NULL, 'r' }, - { "type", 1, NULL, 't' }, - { "range", 1, NULL, 'l' }, - { "compute", 0, NULL, 'c' }, - { "help", 0, NULL, 'h' }, - { NULL, 0, NULL, 0 }, -}; +static const char runcon_options[] = + "user\0" Required_argument "u" + "role\0" Required_argument "r" + "type\0" Required_argument "t" + "range\0" Required_argument "l" + "compute\0" No_argument "c" + "help\0" No_argument "h" + "\0"; #endif #define OPTS_ROLE (1<<0) /* r */ |