busybox/libbb
Tito Ragusa 1da09cfacf libpwdgrp: rewritten to use malloced implementation
This removed buffer size limitations.

function                                             old     new   delta
convert_to_struct                                      -     269    +269
getXXnam_r                                             -     204    +204
parse_common                                           -     185    +185
getXXnam                                               -     164    +164
tokenize                                               -     126    +126
bb_internal_getpwent_r                               102     167     +65
get_S                                                 30      88     +58
getgrouplist_internal                                195     240     +45
const_sp_db                                            -      20     +20
const_pw_db                                            -      20     +20
const_gr_db                                            -      20     +20
bb_internal_endpwent                                  27      36      +9
bb_internal_endgrent                                  27      36      +9
decode_one_format                                    726     734      +8
bb_internal_setpwent                                  17      24      +7
volume_id_probe_iso9660                              319     322      +3
scriptreplay_main                                    204     207      +3
mkfs_minix_main                                     2684    2687      +3
id_main                                              478     480      +2
hash_find                                            233     235      +2
pstree_main                                          321     322      +1
gr_off                                                 3       4      +1
expand_one_var                                      1579    1578      -1
pwf                                                    4       -      -4
grf                                                    4       -      -4
pack_gzip                                           1787    1780      -7
addattr32                                             67      56     -11
buffer_fill_and_print                                191     178     -13
dpkg_main                                           2944    2927     -17
bb_internal_setgrent                                  17       -     -17
bb_internal_getpwuid                                  38      19     -19
bb_internal_getgrgid                                  44      19     -25
bb_internal_getpwnam                                  38      11     -27
bb_internal_getgrnam                                  44      14     -30
bb_internal_fgetpwent_r                               51       -     -51
bb_internal_fgetgrent_r                               51       -     -51
bb_internal_getspnam_r                               121      42     -79
bb_internal_getpwnam_r                               121      39     -82
bb_internal_getgrent_r                               102       -    -102
bb__parsepwent                                       110       -    -110
bb_internal_getpwuid_r                               113       -    -113
bb_internal_getgrgid_r                               113       -    -113
bb__parsespent                                       120       -    -120
bb_internal_getgrnam_r                               121       -    -121
bb__pgsreader                                        213       -    -213
bb__parsegrent                                       226       -    -226
------------------------------------------------------------------------------
(add/remove: 8/13 grow/shrink: 14/11 up/down: 1224/-1556)    Total: -332 bytes
   text	   data	    bss	    dec	    hex	filename
 923471	    928	  17684	 942083	  e6003	busybox_old
 923167	    928	  17676	 941771	  e5ecb	busybox_unstripped

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-01-02 21:37:59 +01:00
..
appletlib.c exit with 127 if appled name wasn't found - it's more POSIXy 2014-11-17 17:03:47 +01:00
ask_confirmation.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_askpass.c libbb: fix bb_ask() to flush input before prompt, not after. Closes 7190 2014-07-01 13:20:22 +02:00
bb_bswap_64.c *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits 2010-10-18 11:40:26 +02:00
bb_do_delay.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_pwd.c libpwdgrp: rewritten to use malloced implementation 2015-01-02 21:37:59 +01:00
bb_qsort.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_strtod.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_strtonum.c libbb/bb_strtonum: always set end ptr, even on error return 2011-12-22 13:00:32 +01:00
bbunit.c bbunit: fix WANT_TIMING compilation 2014-11-26 14:04:51 +01:00
change_identity.c
chomp.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
compare_string_array.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
concat_path_file.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
concat_subpath_file.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
Config.src sha3: make size/speed optimization decision configurable 2013-01-15 01:12:26 +01:00
copy_file.c Add conditional support for -v / --verbose 2014-05-19 16:23:50 +02:00
copyfd.c libbb: use sendfile() to copy data between file descriptors 2014-11-27 23:31:58 +01:00
correct_password.c ftpd: add optional support for authentication 2014-08-05 21:57:18 +02:00
crc32.c whitespace fixes 2011-02-03 00:05:48 +01:00
default_error_retval.c libbb: xfunc_error_retval can be a byte 2010-09-01 16:04:24 +02:00
device_open.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
die_if_bad_username.c die_if_bad_username: tighten up a bit 2011-08-09 04:05:13 +02:00
dump.c hexdump: don't unconditionally limit the usable address range 2013-03-27 15:15:33 +01:00
endofname.c move endofname() to libbb 2013-02-26 00:36:53 +01:00
executable.c libbb: rename execable -> executable. No code changes 2014-05-02 17:15:58 +02:00
fclose_nonstdin.c sed: open input files sequentially to avoid EMFILE 2013-11-28 03:14:16 +01:00
fflush_stdout_and_exit.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
fgets_str.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
find_mount_point.c find_mount_point: fix find_mount_point for char devices 2012-01-18 01:49:11 +01:00
find_pid_by_name.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
find_root_device.c plug a DIR* leak on error path 2010-12-28 10:25:03 +01:00
full_write.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
get_console.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
get_cpu_count.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
get_last_path_component.c find: cater for libc w/o FNM_CASEFOLD 2011-05-23 00:40:54 +02:00
get_line_from_file.c libbb: split bb_get_chunk_from_file and bb_get_chunk_with_continuation 2011-06-17 03:37:43 +02:00
get_shell_name.c mark get_shell_name FAST_FUNC 2012-10-03 09:42:21 +02:00
get_volsize.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
getopt32.c randomconfig fixes 2011-08-10 00:51:29 +02:00
getpty.c script: make it work even if fd 0 is closed 2014-03-16 12:34:53 +01:00
hash_md5_sha.c sha3: tweak comments and indentation 2014-07-30 16:26:09 +02:00
hash_md5prime.c regularize options which control size/speed trade 2011-09-10 13:25:57 +02:00
herror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
human_readable.c Make smart_ulltoa return pointer to end (allows for code shink in callers) 2013-09-06 12:53:14 +02:00
in_ether.c fix failures found by randomconfig builds 2013-12-31 23:22:36 +01:00
inet_cksum.c inet_cksum: big-endian fix 2011-09-08 10:59:26 +02:00
inet_common.c chpst: fix a bug where -U USER was using wrong USER (one from -u USER) 2013-11-29 16:39:28 +01:00
info_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
inode_hash.c du, copy_file: fix file matching on cramfs. Closes 5456 2014-02-25 15:27:58 +01:00
isdirectory.c libbb: remove is_directory's argument which is always NULL 2011-12-18 03:27:46 +01:00
Kbuild.src randomconfig fixes 2014-12-22 19:37:05 +01:00
kernel_version.c get_linux_version_code: don't fail on Linux version strints like "3.0-foo" 2012-05-05 17:47:23 +02:00
last_char_is.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
lineedit_ptr_hack.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
lineedit.c lineedit: don't block when looking for escape sequence in vi-mode 2014-12-15 13:30:58 +01:00
llist.c main: free suid_config list after use 2011-05-16 12:21:31 +02:00
logenv.c zcip: Add environment variable for overriding log functionality 2014-11-04 12:19:04 +01:00
login.c libbb: introduce and use strftime_[YYYYMMDD]HHMMSS() 2013-03-29 12:30:33 +01:00
loop.c libbb: if opening /dev/loopN returns ENXIO, don't try N++. 2014-01-21 13:44:21 +01:00
make_directory.c Add conditional support for -v / --verbose 2014-05-19 16:23:50 +02:00
makedev.c nicer looking ifdef in libbb/makedev.c 2011-01-24 23:53:12 +01:00
match_fstype.c Fix compile breakage 2011-09-07 22:19:46 +02:00
messages.c save 10 bytes on strings 2011-02-10 10:01:49 +01:00
missing_syscalls.c libbb: add missing_syscalls.c: for now, only Android syscalls 2012-06-10 14:40:30 +02:00
mode_string.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
mtab.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
nuke_str.c fix failures found by randomconfig builds 2013-12-31 23:22:36 +01:00
obscure.c unit-tests: implement the unit-testing framework 2014-06-22 16:30:41 +02:00
parse_config.c mdev: do not treat non-leading '#' chars as start of comment. Closes 4676 2012-01-11 00:37:17 +01:00
parse_mode.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
percent_decode.c wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625. 2011-09-11 21:04:02 +02:00
perror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg_and_die.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
pidfile.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
platform.c libbb: provide usleep() fallback implementation 2014-04-13 16:37:57 +02:00
print_flags.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
printable_string.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
printable.c Refactor catv. Move visible() from stty to libbb. 2013-07-30 06:29:42 +02:00
process_escape_sequence.c libbb/process_escape_sequence.c: fix recently broken handling of \\ 2010-10-25 12:14:21 +02:00
procps.c whitespace cleanup. no code changes 2013-01-14 15:57:44 +01:00
progress.c libbb: make warning go away 2011-03-12 02:19:50 +01:00
ptr_to_globals.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
pw_encrypt_des.c des encrypt: fix goof with NUL byte added at the end as '.' 2009-05-01 03:41:25 +02:00
pw_encrypt_md5.c fix assorted unused code and wrong format specs found by cppchekc (bug 6716) 2013-11-29 16:43:33 +01:00
pw_encrypt_sha.c libbb/pw_encrypt_sha: forgot to move &ctx to 1st param here in sha hash rework 2010-12-01 13:57:25 +01:00
pw_encrypt.c libbb: don't die if crypt() returns NULL 2014-02-09 14:38:03 +01:00
read_key.c Add comments in keyboard escape sequences table 2012-06-11 14:40:17 +02:00
read_printf.c preparatory cleanups for seamless uncompression improvements 2012-03-06 16:23:50 +01:00
read.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
README *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
recursive_action.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
remove_file.c Add conditional support for -v / --verbose 2014-05-19 16:23:50 +02:00
replace.c xargs: add support for -I and -i. Closes 493 2014-02-27 11:17:06 +01:00
rtc.c libbb: fix thinko in rtc_xopen() 2014-05-02 09:07:16 +02:00
run_shell.c *: s/"/bin/sh"/DEFAULT_SHELL, run_shell() API fix, remove unneeded strdup 2010-06-27 03:23:31 +02:00
safe_gethostname.c sendmail: use host rather than NIS domain name for HELO 2012-04-28 17:04:19 +02:00
safe_poll.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
safe_strncpy.c klogd: do not log partial lines 2010-10-19 23:07:49 +02:00
safe_write.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
selinux_common.c whitespace cleanup. no code changes 2013-01-14 15:57:44 +01:00
setup_environment.c su: do not change to home dir unless -l 2012-06-12 13:21:02 +02:00
signals.c libbb: correctness/size tweaks in signal-related helpers 2012-09-27 13:20:34 +02:00
simplify_path.c whitespace cleanup 2010-10-29 11:46:52 +02:00
single_argv.c basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument 2011-04-11 03:58:30 +02:00
skip_whitespace.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
speed_table.c libbb: FreeBSD fix for B<num> baud rate constants not fitting into a short. 2014-01-08 15:25:20 +01:00
str_tolower.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
strrstr.c unit-tests: implement the unit-testing framework 2014-06-22 16:30:41 +02:00
sysconf.c libbb: add sanity check in bb_arg_max() 2014-12-24 01:46:29 +01:00
systemd_support.c typo fix 2011-02-12 01:56:25 +01:00
time.c libbb: fix parsing of "10101010" date/time form 2014-01-21 07:58:18 +01:00
trim.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
u_signal_names.c kill[all[5]],pkill: make signal list show signal numbers, and show RTMIN/MAX 2011-01-03 13:08:58 +01:00
udp_io.c Fixes for warnings in FreeBSD build 2011-08-28 05:31:49 +02:00
unicode.c lineedit: improve Unicode handling (still buggy though) 2013-08-19 16:44:05 +02:00
update_passwd.c type fix in comment 2010-11-03 02:48:43 +01:00
utmp.c move utmp.h include to libbb.h 2011-01-25 23:21:46 +01:00
uuencode.c libbb: shrink base64 decoding a bit 2011-10-28 16:15:00 +02:00
vdprintf.c libbb.h: remove unused defines 2011-10-24 04:06:18 +02:00
verror_msg.c Fix compile failures 2014-05-02 07:18:55 +02:00
vfork_daemon_rexec.c bb_daemonize_or_rexec(): add flag to double-fork; use it in start-stop-daemon 2011-11-09 19:44:37 +01:00
warn_ignoring_args.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
wfopen_input.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
wfopen.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
write.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xatonum_template.c whitespace fixes. no code changes 2013-01-15 13:58:01 +01:00
xatonum.c Commonalize typical [b,]k,m suffix struct 2013-07-13 23:49:45 +02:00
xconnect.c Make unix (local) sockets work without IPv6 enabled 2012-02-09 15:14:33 +01:00
xfunc_die.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xfuncs_printf.c libbb: Add xsetegid(), xseteuid(), xopen_as_uid_gid() functions 2013-10-08 14:52:49 +02:00
xfuncs.c less: move "retry-on-EAGAIN" logic closer to read ops 2014-09-22 21:14:02 +02:00
xgetcwd.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
xgethostbyname.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xreadlink.c libbb: fix a bad check for uclibc >= 0.9.31 2014-03-16 20:53:40 +01:00
xrealloc_vector.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xregcomp.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02: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>