getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 6 Jul 2016 19:58:02 +0000 (21:58 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 6 Jul 2016 19:58:02 +0000 (21:58 +0200)
commit237bedd499c58034a1355484d6d4d906f0180308
tree42a789f8867ba3bc6ef0cea30fb18f5553d447a0
parent0844b5afe2cd60d46b7f2ad0fac8c2818d0780b3
getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST

In many cases, this aqllows to drop use of opt_complementary.
Approximately -400 bytes:

function                                             old     new   delta
getopt32                                            1423    1502     +79
opt_string                                            17      18      +1
OPT_STR                                               24      25      +1
uniq_main                                            416     406     -10
timeout_main                                         279     269     -10
sulogin_main                                         270     260     -10
readprofile_main                                    1825    1815     -10
ps_main                                              543     533     -10
pidof_main                                           245     235     -10
pgrep_main                                           611     601     -10
od_main                                             2600    2590     -10
mkfs_minix_main                                     2684    2674     -10
mkfs_ext2_main                                      2603    2593     -10
microcom_main                                        712     702     -10
makemime_main                                        315     305     -10
ionice_main                                          282     272     -10
inetd_main                                          2074    2064     -10
ifplugd_main                                        1144    1134     -10
halt_main                                            353     343     -10
getopt_main                                          636     626     -10
fdisk_main                                          2854    2844     -10
env_main                                             206     196     -10
dmesg_main                                           319     309     -10
conspy_main                                         1214    1204     -10
awk_main                                             981     971     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/22 up/down: 81/-220)         Total: -139 bytes
   text    data     bss     dec     hex filename
 919373     906   14060  934339   e41c3 busybox_old
 918969     906   14060  933935   e402f busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
58 files changed:
archival/tar.c
coreutils/du.c
coreutils/env.c
coreutils/od_bloaty.c
coreutils/sort.c
coreutils/split.c
coreutils/tail.c
coreutils/uniq.c
debianutils/run_parts.c
editors/awk.c
editors/diff.c
editors/sed.c
findutils/grep.c
init/halt.c
libbb/getopt32.c
libbb/parse_config.c
loginutils/cryptpw.c
loginutils/getty.c
loginutils/sulogin.c
mailutils/makemime.c
mailutils/popmaildir.c
mailutils/reformime.c
mailutils/sendmail.c
miscutils/conspy.c
miscutils/ionice.c
miscutils/microcom.c
miscutils/timeout.c
miscutils/ubi_tools.c
networking/arping.c
networking/ftpd.c
networking/ifplugd.c
networking/inetd.c
networking/nc_bloaty.c
networking/ntpd.c
networking/ping.c
networking/tcpudp.c
networking/telnetd.c
networking/traceroute.c
networking/udhcp/d6_dhcpc.c
networking/udhcp/dhcpc.c
networking/wget.c
networking/whois.c
procps/pgrep.c
procps/pidof.c
procps/ps.c
procps/watch.c
runit/chpst.c
runit/sv.c
selinux/setfiles.c
sysklogd/syslogd.c
util-linux/dmesg.c
util-linux/fdisk.c
util-linux/getopt.c
util-linux/mkfs_ext2.c
util-linux/mkfs_minix.c
util-linux/mkfs_reiser.c
util-linux/mount.c
util-linux/readprofile.c