busybox/libbb
Denis Vlasenko bdc88fdc68 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
2007-07-23 17:14:14 +00:00
..
ask_confirmation.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
bb_askpass.c libbb: random hunt for statics 2007-06-18 10:35:06 +00:00
bb_basename.c add bb_basename.c 2007-06-30 10:58:08 +00:00
bb_do_delay.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
bb_pwd.c random style fixes (extra spaces deleted) 2007-03-24 15:40:16 +00:00
bb_strtonum.c merge post-1.3.0 fixes 2006-12-26 18:17:42 +00:00
change_identity.c login: re-enable Ctrl-^C before execing shell. 2006-10-31 17:34:44 +00:00
chomp.c cryptpw: new applet (a bit less than 3k added) 2007-05-08 17:52:17 +00:00
compare_string_array.c - fix bug where we did not reject invalid classes like '[[:alpha' 2007-03-30 14:43:27 +00:00
concat_path_file.c ls: cleanup part 1 2006-10-28 12:37:16 +00:00
concat_subpath_file.c teach find_root_device to deal with /dev/ subdirs 2007-04-13 23:59:52 +00:00
Config.in xioctl and friends by Tito <farmatito@tiscali.it> 2007-07-14 22:07:14 +00:00
copy_file.c do not do utime() on links, it acts on link targets, and we don't want that. 2007-06-20 14:49:47 +00:00
copyfd.c bb_full_fd_action: remove potential xmalloc from NOFORK path 2007-04-11 23:20:53 +00:00
correct_password.c correct_password: if password is 'x' or '*' and there is no shadow, use 2007-07-03 10:28:46 +00:00
crc32.c make compressed help code NOMMU- and NOFORK-friendly - 2007-04-10 21:40:19 +00:00
create_icmp6_socket.c ping: don't measure times if ping payload is less than 8 bytes; 2007-03-03 00:36:35 +00:00
create_icmp_socket.c clean up accumulated whitespace damage 2007-03-07 09:35:43 +00:00
crypt_make_salt.c chpasswd: new applet by Alexander Shishkin <virtuoso@slind.org> 2007-07-20 21:28:41 +00:00
default_error_retval.c Rename two config options: 2007-04-10 23:03:30 +00:00
device_open.c small stupid changes. no code changes 2006-12-24 07:30:09 +00:00
dump.c random shrinkage of statics, -60 bytes saved 2007-06-21 12:43:45 +00:00
error_msg_and_die.c hush: fix handling of unmatched ${name (without closing '}') - 2007-05-24 12:18:16 +00:00
error_msg.c use "glibc errno" trick not only for ash, but for entire busybox 2007-05-31 22:16:38 +00:00
execable.c make busybox --install work even if /proc/self/exe doesn't exist 2007-06-08 15:02:55 +00:00
fclose_nonstdin.c hunt down improper include <>, make mkswap output 4Gb+ friendly 2006-11-24 15:38:03 +00:00
fflush_stdout_and_exit.c Rename two config options: 2007-04-10 23:03:30 +00:00
fgets_str.c rename functions to more understandable names 2006-10-26 23:25:17 +00:00
find_mount_point.c cut 0.5k off mkfs.minix 2006-11-29 18:15:52 +00:00
find_pid_by_name.c introduce and use bb_basename() 2007-06-30 08:04:05 +00:00
find_root_device.c find_root_device: use lstat - don't follow links 2007-04-21 23:28:03 +00:00
full_write.c httpd: a little bit more correct handling of CGI "HTTP/xxx" output 2007-02-13 23:42:54 +00:00
get_console.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
get_last_path_component.c preparatory patch for -Wwrite-strings #2 2007-01-29 22:51:25 +00:00
get_line_from_file.c style fixes. No code changes 2007-04-12 00:32:05 +00:00
getopt32.c rework long option handling. saves ~1.2k 2007-07-23 17:14:14 +00:00
herror_msg_and_die.c make a few struct bb_applet members conditional 2007-04-10 21:38:30 +00:00
herror_msg.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
human_readable.c style fix (stray space before ';') 2007-07-21 15:08:09 +00:00
inet_common.c make /etc/network parsing configurable. -200 bytes when off. 2007-06-19 11:24:47 +00:00
info_msg.c login: remove setpgrp call (makes it work from shell prompt again). 2007-04-12 12:31:02 +00:00
inode_hash.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
isdirectory.c - remove emacs layout block as suggested by Robert P.J. Day 2006-05-19 19:29:19 +00:00
Kbuild chpasswd: new applet by Alexander Shishkin <virtuoso@slind.org> 2007-07-20 21:28:41 +00:00
kernel_version.c modprobe: reformat to match bbox style 2006-10-27 15:12:50 +00:00
last_char_is.c diff: fix -q exit code 2006-12-16 22:18:44 +00:00
lineedit.c introduce and use bb_basename() 2007-06-30 08:04:05 +00:00
llist.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
login.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
loop.c loop device code: readability improvement 2007-04-19 00:09:34 +00:00
make_directory.c audit small applets and mark some of them as NOFORK. 2007-04-10 15:43:37 +00:00
makedev.c fix warning from needlessly-global functions 2007-01-22 23:04:27 +00:00
match_fstype.c whitespace fixes 2007-05-30 00:29:55 +00:00
md5.c #if CONFIG_xxx -> #if ENABLE_xxx 2006-11-01 09:13:26 +00:00
messages.c *: BB_BANNER -> bb_banner (it is not a const or #define)! 2007-06-13 12:27:17 +00:00
mode_string.c - the archivers expect mode to be a mode_t, so do not trip signed/unsigned conversion purposefully 2007-01-22 17:48:08 +00:00
mtab_file.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
mtab.c erase_mtab: do not limit ourself to 40 mtab entries 2006-11-27 17:29:09 +00:00
obscure.c passwd: rework: 2006-11-30 16:41:15 +00:00
parse_mode.c audit small applets and mark some of them as NOFORK. 2007-04-10 15:43:37 +00:00
perror_msg_and_die.c make a few struct bb_applet members conditional 2007-04-10 21:38:30 +00:00
perror_msg.c use "glibc errno" trick not only for ash, but for entire busybox 2007-05-31 22:16:38 +00:00
perror_nomsg_and_die.c fix warning from needlessly-global functions 2007-01-22 23:04:27 +00:00
perror_nomsg.c fix warning from needlessly-global functions 2007-01-22 23:04:27 +00:00
pidfile.c pidfile creation mode set to 0666 (umask affects it as usual) 2007-03-27 22:05:34 +00:00
process_escape_sequence.c Implement first instance of NOFORK applet - echo 2007-04-09 13:04:50 +00:00
procps.c stray trailing tabs removed 2007-07-19 22:50:47 +00:00
pw_encrypt.c libbb: random hunt for statics 2007-06-18 10:35:06 +00:00
read.c top,ps: improve /proc/PID/cmdinfo reading code 2007-06-30 14:47:41 +00:00
README Remove trailing whitespace. Update copyright to include 2004. 2004-03-15 08:29:22 +00:00
recursive_action.c md5_sha1_sum: fix mishandling when run as /bin/md5sum (with path) 2007-07-05 00:12:55 +00:00
remove_file.c audit small applets and mark some of them as NOFORK. 2007-04-10 15:43:37 +00:00
restricted_shell.c su: make /etc/shells check configurable 2006-12-19 00:20:20 +00:00
run_shell.c use "glibc errno" trick not only for ash, but for entire busybox 2007-05-31 22:16:38 +00:00
safe_strncpy.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
safe_write.c use "glibc errno" trick not only for ash, but for entire busybox 2007-05-31 22:16:38 +00:00
selinux_common.c usage.c: remove reference to busybox.h 2007-05-26 19:00:18 +00:00
setup_environment.c remove nearly-duplicate PATHs in several places 2007-06-12 22:35:19 +00:00
sha1.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
simplify_path.c teach find_root_device to deal with /dev/ subdirs 2007-04-13 23:59:52 +00:00
skip_whitespace.c leftover of e2fsck surgery 2006-12-26 02:51:29 +00:00
speed_table.c style fix (stray space before ';') 2007-07-21 15:08:09 +00:00
str_tolower.c - add libbb function str_tolower to convert a string to lowercase. 2007-04-10 09:37:29 +00:00
time.c fix an obvious typo while trying to access the tv_usec member 2007-06-18 07:12:31 +00:00
trim.c style fixes. No code changes 2007-04-12 00:32:05 +00:00
u_signal_names.c Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms@bfs.de>) 2007-06-25 10:55:35 +00:00
udp_io.c whitespace fixes 2007-05-30 00:29:55 +00:00
update_passwd.c chpasswd: fixes and code shrink 2007-07-21 13:25:28 +00:00
uuencode.c uuencode: shrink 2007-06-26 15:59:37 +00:00
vdprintf.c accumulated post-1.4.0 fixes 2007-01-24 22:02:01 +00:00
verror_msg.c verror_msg: don't printf(NULL) 2007-05-29 21:41:28 +00:00
vfork_daemon_rexec.c init: make sure fd 0,1,2 are not closed, + related optimizations. 2007-06-14 07:53:06 +00:00
vherror_msg.c - small trivia to be gentle to gcc-2.95.x which had no va_copy but only __va_copy. 2006-09-12 13:27:55 +00:00
vinfo_msg.c - small trivia to be gentle to gcc-2.95.x which had no va_copy but only __va_copy. 2006-09-12 13:27:55 +00:00
vperror_msg.c - small trivia to be gentle to gcc-2.95.x which had no va_copy but only __va_copy. 2006-09-12 13:27:55 +00:00
warn_ignoring_args.c hunt down improper include <>, make mkswap output 4Gb+ friendly 2006-11-24 15:38:03 +00:00
wfopen_input.c bb_full_fd_action: remove potential xmalloc from NOFORK path 2007-04-11 23:20:53 +00:00
wfopen.c rename functions to more understandable names 2006-10-26 23:25:17 +00:00
xatonum_template.c find: make -size match GNU find 2007-06-16 00:30:52 +00:00
xatonum.c diff: shrink code (-85 bytes): 2007-06-12 20:54:54 +00:00
xconnect.c nc: make connecting to IPv4 from IPv6-enabled hosts easier 2007-06-05 20:08:11 +00:00
xfuncs.c stray trailing tabs removed 2007-07-19 22:50:47 +00:00
xgetcwd.c syslogd: fix "readpath bug" by using readlink instead 2007-02-11 16:19:28 +00:00
xgethostbyname.c xgethostbyname: more readable 2006-11-21 20:35:22 +00:00
xreadlink.c syslogd: fix "readpath bug" by using readlink instead 2007-02-11 16:19:28 +00:00
xregcomp.c less: stop dying on bad regexps, quietly pipe data w/o 2006-12-21 13:24:58 +00:00

Please see the LICENSE file for copyright information (GPLv2)

libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
a single file named utility.c.  When I split utility.c to create libbb, some of
the very oldest stuff ended up without their original copyright and licensing
information (which is now lost in the mists of time).  If you see something
that you wrote that is mis-attributed, do let me know so we can fix that up.

	Erik Andersen
	<andersen@codepoet.org>