busybox/libbb
Denis Vlasenko e8a0788b24 moved biggest stack buffers to malloc space, or made their size configurable
(8k of shell line edit buffer is an overkill)

# make ARCH=i386 bloatcheck
function                                             old     new   delta
read_line_input                                     3933    3967     +34
ifaddrlist                                           348     345      -3
do_loadfont                                          208     191     -17
edit_file                                            840     819     -21
.rodata                                           129112  129080     -32
uncompress                                          1305    1268     -37
loadfont_main                                        566     495     -71
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 34/-181)          Total: -147 bytes
2007-06-10 15:08:44 +00:00
..
ask_confirmation.c delete tons of extra #includes 2007-05-31 22:42:12 +00:00
bb_askpass.c delete tons of extra #includes 2007-05-31 22:42:12 +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 moved biggest stack buffers to malloc space, or made their size configurable 2007-06-10 15:08:44 +00:00
copy_file.c style fixes. No code changes 2007-04-12 00:32:05 +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 login: ask passwords even for wrong usernames. 2007-06-08 15:27:06 +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 cryptpw: forgot svn add... how typical of me :( 2007-05-08 23:23:35 +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 preparatory patch for -Wwrite-strings #2 2007-01-29 22:51:25 +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 replace /proc scanning code by more versatile one. 2006-11-05 00:43:51 +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 usage.c: remove reference to busybox.h 2007-05-26 19:00:18 +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 delete tons of extra #includes 2007-05-31 22:42:12 +00:00
inet_common.c - sed -i -e "/\$Id:/d;" 2007-01-22 17:04:53 +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 fix trivial compile errors found by randomconfig run 2007-05-17 12:58:30 +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 moved biggest stack buffers to malloc space, or made their size configurable 2007-06-10 15:08:44 +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 make busybox --install work even if /proc/self/exe doesn't exist 2007-06-08 15:02:55 +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 ps: fix -Z (by Yuichi Nakamura <ynakam@hitachisoft.jp>) 2007-06-06 07:40:16 +00:00
pw_encrypt.c passwd: small size optimization. salt generation improved 2006-11-30 20:41:28 +00:00
read.c clean up accumulated whitespace damage 2007-03-07 09:35:43 +00:00
README Remove trailing whitespace. Update copyright to include 2004. 2004-03-15 08:29:22 +00:00
recursive_action.c find: fix handling of -prune 2007-04-08 10:52:28 +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 login: remove setpgrp call (makes it work from shell prompt again). 2007-04-12 12:31:02 +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 The type changed too. 2006-06-20 16:43:05 +00:00
str_tolower.c - add libbb function str_tolower to convert a string to lowercase. 2007-04-10 09:37:29 +00:00
trim.c style fixes. No code changes 2007-04-12 00:32:05 +00:00
u_signal_names.c test: code size saving, no logic changes 2007-05-01 20:07:29 +00:00
udp_io.c whitespace fixes 2007-05-30 00:29:55 +00:00
uuencode.c uuencode: common implementation for wget and uuencode (closing bug 694) 2006-09-03 15:49:40 +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 make busybox --install work even if /proc/self/exe doesn't exist 2007-06-08 15:02:55 +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 s/extern inline/static ATTRIBUTE_ALWAYS_INLINE/g 2006-12-16 23:48:13 +00:00
xatonum.c s/extern inline/static ATTRIBUTE_ALWAYS_INLINE/g 2006-12-16 23:48:13 +00:00
xconnect.c nc: make connecting to IPv4 from IPv6-enabled hosts easier 2007-06-05 20:08:11 +00:00
xfuncs.c usage.c: remove reference to busybox.h 2007-05-26 19:00:18 +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>