Denys Vlasenko bb0bf287d8 randomconfig fixes 2 %!s(int64=8) %!d(string=hai) anos
..
Config.src fe0dc34746 lineedit: FEATURE_REVERSE_SEARCH should not depend on SAVEHISTORY %!s(int64=9) %!d(string=hai) anos
Kbuild.src bb0bf287d8 randomconfig fixes 2 %!s(int64=8) %!d(string=hai) anos
README ba2dcccd79 *: trailing empty lines removed %!s(int64=14) %!d(string=hai) anos
appletlib.c ce824aecf2 libbb: move common code into run_applet_and_exit %!s(int64=8) %!d(string=hai) anos
ask_confirmation.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
auto_string.c e52da5570e libbb: auto_string() for efficient handling of temporary malloced stirngs %!s(int64=9) %!d(string=hai) anos
bb_askpass.c 02859aaeb2 use auto_string() where appropriate to kill a few statics %!s(int64=9) %!d(string=hai) anos
bb_bswap_64.c 9ff50b8697 *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits %!s(int64=14) %!d(string=hai) anos
bb_do_delay.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
bb_pwd.c 1da09cfacf libpwdgrp: rewritten to use malloced implementation %!s(int64=10) %!d(string=hai) anos
bb_qsort.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
bb_strtod.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
bb_strtonum.c ba65872950 libbb/bb_strtonum: always set end ptr, even on error return %!s(int64=13) %!d(string=hai) anos
bbunit.c 718e228adc unit-tests: remove code depending on WANT_TIMING %!s(int64=9) %!d(string=hai) anos
change_identity.c a818777d42 libbb: Enable support for !CONFIG_MULTIUSER %!s(int64=9) %!d(string=hai) anos
chomp.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
common_bufsiz.c 93e1aaa1c7 libbb: constify *bb_common_bufsiz1 (if it is compiled to be a pointer) %!s(int64=8) %!d(string=hai) anos
compare_string_array.c f085344d5c libbb: another unit test for is_suffixed_with %!s(int64=9) %!d(string=hai) anos
concat_path_file.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
concat_subpath_file.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
copy_file.c 877dedb825 cp: add -u/--update and --remove-destination %!s(int64=8) %!d(string=hai) anos
copyfd.c 8d75d794ea libbb: use sendfile() to copy data between file descriptors %!s(int64=10) %!d(string=hai) anos
correct_password.c feac9b607d ftpd: add optional support for authentication %!s(int64=10) %!d(string=hai) anos
crc32.c b7c9fb27cb whitespace fixes %!s(int64=14) %!d(string=hai) anos
default_error_retval.c 7aa63042d0 libbb: xfunc_error_retval can be a byte %!s(int64=14) %!d(string=hai) anos
device_open.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
die_if_bad_username.c 7485086f1e die_if_bad_username: tighten up a bit %!s(int64=13) %!d(string=hai) anos
dump.c ef6747e290 hexdump: don't unconditionally limit the usable address range %!s(int64=11) %!d(string=hai) anos
endofname.c 1961aea305 move endofname() to libbb %!s(int64=11) %!d(string=hai) anos
executable.c 8220399173 nsenter,unshare: share common code; fix a bug of not closing all fds %!s(int64=8) %!d(string=hai) anos
fclose_nonstdin.c 259b3c047a sed: open input files sequentially to avoid EMFILE %!s(int64=11) %!d(string=hai) anos
fflush_stdout_and_exit.c 550bf5b4a4 remove global "jmp_buf die_jmp" from !FEATURE_PREFER_APPLETS builds %!s(int64=9) %!d(string=hai) anos
fgets_str.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
find_mount_point.c ce4f39ac7c find_mount_point: fix find_mount_point for char devices %!s(int64=13) %!d(string=hai) anos
find_pid_by_name.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
find_root_device.c 2272129a93 plug a DIR* leak on error path %!s(int64=14) %!d(string=hai) anos
full_write.c e4dcba1c10 *: whitespace fixes %!s(int64=14) %!d(string=hai) anos
get_console.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
get_cpu_count.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
get_last_path_component.c b24ef035bd find: cater for libc w/o FNM_CASEFOLD %!s(int64=13) %!d(string=hai) anos
get_line_from_file.c a1a448347e libbb: split bb_get_chunk_from_file and bb_get_chunk_with_continuation %!s(int64=13) %!d(string=hai) anos
get_shell_name.c fd77ea505e mark get_shell_name FAST_FUNC %!s(int64=12) %!d(string=hai) anos
get_volsize.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
getopt32.c b47b3ce1bd randomconfig fixes %!s(int64=13) %!d(string=hai) anos
getpty.c 438b4ac286 script: make it work even if fd 0 is closed %!s(int64=10) %!d(string=hai) anos
hash_md5_sha.c 305958dbd4 md5sum: code shrink %!s(int64=9) %!d(string=hai) anos
hash_md5prime.c 522041ee7b regularize options which control size/speed trade %!s(int64=13) %!d(string=hai) anos
herror_msg.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
human_readable.c 93dd9fd90a du: extra compat: with -k and -m, round sizes up %!s(int64=9) %!d(string=hai) anos
in_ether.c 97f2f7ca7f Removes stray empty line from code %!s(int64=9) %!d(string=hai) anos
inet_cksum.c 0d0260fd1e inet_cksum: big-endian fix %!s(int64=13) %!d(string=hai) anos
inet_common.c 8e74adab01 libbb: make INET[6]_rresolve use sockaddr2{host,dotted}_noport %!s(int64=9) %!d(string=hai) anos
inode_hash.c 83bc4332e7 du, copy_file: fix file matching on cramfs. Closes 5456 %!s(int64=10) %!d(string=hai) anos
isdirectory.c f282c6b657 libbb: remove is_directory's argument which is always NULL %!s(int64=13) %!d(string=hai) anos
kernel_version.c 00da72bee0 tidy up strtok use %!s(int64=9) %!d(string=hai) anos
last_char_is.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
lineedit.c 2b91958dff Rewrite iteration through applet names to save a few bytes %!s(int64=8) %!d(string=hai) anos
lineedit_ptr_hack.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
llist.c 9be4702a30 main: free suid_config list after use %!s(int64=13) %!d(string=hai) anos
logenv.c d3fabf89d7 zcip: Add environment variable for overriding log functionality %!s(int64=10) %!d(string=hai) anos
login.c 8f2cb7ab26 libbb: introduce and use strftime_[YYYYMMDD]HHMMSS() %!s(int64=11) %!d(string=hai) anos
loop.c 782ee2aa0e libbb/loop: don't try to re-use existing loop device %!s(int64=9) %!d(string=hai) anos
make_directory.c 17f8418ea7 Add conditional support for -v / --verbose %!s(int64=10) %!d(string=hai) anos
makedev.c 975c714183 nicer looking ifdef in libbb/makedev.c %!s(int64=14) %!d(string=hai) anos
match_fstype.c 8dff01d06a libbb: introduce and use is_prefixed_with() %!s(int64=9) %!d(string=hai) anos
messages.c e6a2f4cc5a libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it %!s(int64=8) %!d(string=hai) anos
missing_syscalls.c 6df961257d Resolve linker issues with Android API 21 (dprintf, tcdrain) %!s(int64=9) %!d(string=hai) anos
mode_string.c 3e134ebf6a *: slap on a few ALIGN1/2s where appropriate %!s(int64=8) %!d(string=hai) anos
mtab.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
nuke_str.c 198b02f7dd fix failures found by randomconfig builds %!s(int64=11) %!d(string=hai) anos
obscure.c 3ed81cf052 unit-tests: implement the unit-testing framework %!s(int64=10) %!d(string=hai) anos
parse_config.c 499597d6ef mdev: do not treat non-leading '#' chars as start of comment. Closes 4676 %!s(int64=13) %!d(string=hai) anos
parse_mode.c 5711a2a4ad libbb: more compact API for bb_parse_mode() %!s(int64=9) %!d(string=hai) anos
percent_decode.c dd1061b6a7 wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625. %!s(int64=13) %!d(string=hai) anos
perror_msg.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
perror_nomsg.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
perror_nomsg_and_die.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
pidfile.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
platform.c cee59053dc Bionic lacks ttyname_r; provide a workaround %!s(int64=9) %!d(string=hai) anos
print_flags.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
printable.c 79c618c411 Refactor catv. Move visible() from stty to libbb. %!s(int64=11) %!d(string=hai) anos
printable_string.c e52da5570e libbb: auto_string() for efficient handling of temporary malloced stirngs %!s(int64=9) %!d(string=hai) anos
process_escape_sequence.c a2d27a1919 libbb/process_escape_sequence.c: fix recently broken handling of \\ %!s(int64=14) %!d(string=hai) anos
procps.c 049b007865 pmap: fix bogus {no such process} comm field text %!s(int64=9) %!d(string=hai) anos
progress.c d3d6534b2a wget: if stderr is not a tty, progress bar shouldn't use tty-tricks %!s(int64=9) %!d(string=hai) anos
ptr_to_globals.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
pw_encrypt.c 3e134ebf6a *: slap on a few ALIGN1/2s where appropriate %!s(int64=8) %!d(string=hai) anos
pw_encrypt_des.c 44d1989997 des encrypt: fix goof with NUL byte added at the end as '.' %!s(int64=15) %!d(string=hai) anos
pw_encrypt_md5.c 9b2a9f0210 fix assorted unused code and wrong format specs found by cppchekc (bug 6716) %!s(int64=11) %!d(string=hai) anos
pw_encrypt_sha.c 5dcc6606cb libbb/pw_encrypt_sha: forgot to move &ctx to 1st param here in sha hash rework %!s(int64=14) %!d(string=hai) anos
read.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
read_key.c 0ccae4d8b3 Add comments in keyboard escape sequences table %!s(int64=12) %!d(string=hai) anos
read_printf.c 61d6ae244a libbb: remove unnecessary argument to nonblock_immune_read %!s(int64=9) %!d(string=hai) anos
recursive_action.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
remove_file.c 17f8418ea7 Add conditional support for -v / --verbose %!s(int64=10) %!d(string=hai) anos
replace.c 6f068904dc xargs: add support for -I and -i. Closes 493 %!s(int64=10) %!d(string=hai) anos
rtc.c 8dff01d06a libbb: introduce and use is_prefixed_with() %!s(int64=9) %!d(string=hai) anos
run_shell.c a73b87e934 *: s/"/bin/sh"/DEFAULT_SHELL, run_shell() API fix, remove unneeded strdup %!s(int64=14) %!d(string=hai) anos
safe_gethostname.c 576b1d3c41 sendmail: use host rather than NIS domain name for HELO %!s(int64=12) %!d(string=hai) anos
safe_poll.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
safe_strncpy.c 0016bcee37 klogd: do not log partial lines %!s(int64=14) %!d(string=hai) anos
safe_write.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
selinux_common.c 60cb48ca50 whitespace cleanup. no code changes %!s(int64=12) %!d(string=hai) anos
setup_environment.c 70fc8c17e2 su: do not change to home dir unless -l %!s(int64=12) %!d(string=hai) anos
signals.c c4f2d997a4 libbb: correctness/size tweaks in signal-related helpers %!s(int64=12) %!d(string=hai) anos
simplify_path.c fb132e4737 whitespace cleanup %!s(int64=14) %!d(string=hai) anos
single_argv.c c13ee8c0f3 basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument %!s(int64=13) %!d(string=hai) anos
skip_whitespace.c 8dff01d06a libbb: introduce and use is_prefixed_with() %!s(int64=9) %!d(string=hai) anos
speed_table.c 96f92a1afa libbb: FreeBSD fix for B<num> baud rate constants not fitting into a short. %!s(int64=11) %!d(string=hai) anos
str_tolower.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
strrstr.c 3ed81cf052 unit-tests: implement the unit-testing framework %!s(int64=10) %!d(string=hai) anos
sysconf.c ca9c4653a9 libbb: add sanity check in bb_arg_max() %!s(int64=10) %!d(string=hai) anos
time.c b684d1b186 libbb: fix time parsing of [[CC]YY]MMDDhhmm[.SS]. Closes 8951 %!s(int64=8) %!d(string=hai) anos
trim.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
u_signal_names.c 3e134ebf6a *: slap on a few ALIGN1/2s where appropriate %!s(int64=8) %!d(string=hai) anos
ubi.c 6aab9928de whitespace and namespace cleanups %!s(int64=8) %!d(string=hai) anos
udp_io.c c52cbea2bb libbb: add setsockopt_foo helpers %!s(int64=9) %!d(string=hai) anos
unicode.c 7a18043a96 lineedit: improve Unicode handling (still buggy though) %!s(int64=11) %!d(string=hai) anos
update_passwd.c 8dff01d06a libbb: introduce and use is_prefixed_with() %!s(int64=9) %!d(string=hai) anos
utmp.c 86a7f18f21 *: Switch to POSIX utmpx API %!s(int64=9) %!d(string=hai) anos
uuencode.c e6094d95b5 libbb: shrink base64 decoding a bit %!s(int64=13) %!d(string=hai) anos
vdprintf.c ec447c7f01 libbb.h: remove unused defines %!s(int64=13) %!d(string=hai) anos
verror_msg.c 46b494635e libbb: speed up error_msg functions %!s(int64=8) %!d(string=hai) anos
vfork_daemon_rexec.c 610c4c385b applet_tables: save space by removing applet name offsets %!s(int64=8) %!d(string=hai) anos
warn_ignoring_args.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
wfopen.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
wfopen_input.c e4dcba1c10 *: whitespace fixes %!s(int64=14) %!d(string=hai) anos
write.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
xatonum.c 911db16229 truncate: new applet %!s(int64=9) %!d(string=hai) anos
xatonum_template.c 6830ade6aa whitespace fixes. no code changes %!s(int64=12) %!d(string=hai) anos
xconnect.c c52cbea2bb libbb: add setsockopt_foo helpers %!s(int64=9) %!d(string=hai) anos
xfunc_die.c 550bf5b4a4 remove global "jmp_buf die_jmp" from !FEATURE_PREFER_APPLETS builds %!s(int64=9) %!d(string=hai) anos
xfuncs.c c4199f22d0 libbb: two new functions: wait_for_exitstatus(pid), xfchdir(fd) %!s(int64=8) %!d(string=hai) anos
xfuncs_printf.c 8220399173 nsenter,unshare: share common code; fix a bug of not closing all fds %!s(int64=8) %!d(string=hai) anos
xgetcwd.c e4dcba1c10 *: whitespace fixes %!s(int64=14) %!d(string=hai) anos
xgethostbyname.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
xreadlink.c c50493854a libbb: fix a bad check for uclibc >= 0.9.31 %!s(int64=10) %!d(string=hai) anos
xrealloc_vector.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos
xregcomp.c 0ef64bdb40 *: make GNU licensing statement forms more regular %!s(int64=14) %!d(string=hai) anos

README

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