Denys Vlasenko
53283adb24
include/libbb.h: mark malloc-returning functions with GCC attribute
...
function old new delta
ash_main 1336 1365 +29
readcmd 1062 1072 +10
add_split_dependencies 707 717 +10
rtnl_talk 539 548 +9
normalize 165 174 +9
xmalloc_optname_optval 583 590 +7
test_main 247 253 +6
insert_bg_job 366 371 +5
dname_enc 391 395 +4
nslookup_main 165 168 +3
ifplugd_main 1099 1102 +3
tftpd_main 493 495 +2
make_new_session 413 415 +2
localcmd 274 276 +2
date_main 696 698 +2
tee_main 317 318 +1
setvar 183 184 +1
hash_find 233 234 +1
xrtnl_dump_filter 400 399 -1
prepend_new_eth_table 297 295 -2
unpack_Z_stream 1229 1226 -3
read_line_input 4823 4820 -3
do_load 523 520 -3
udhcp_run_script 669 665 -4
mkfs_vfat_main 1609 1605 -4
rtnl_rtprot_initialize 70 65 -5
procps_scan 1842 1835 -7
read_opt 873 865 -8
ifupdown_main 2133 2125 -8
mkfs_ext2_main 2492 2482 -10
logread_main 503 492 -11
svlogd_main 1441 1429 -12
rewrite 1032 1018 -14
fbsplash_main 917 903 -14
str2sockaddr 431 405 -26
unpack_lzma_stream 2705 2677 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 18/18 up/down: 106/-163) Total: -57 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-02 14:20:34 +01:00
Denys Vlasenko
8131eea3dc
*: introduce and use ffulsh_all()
...
function old new delta
buffer_fill_and_print 179 196 +17
fflush_all - 9 +9
spawn 87 92 +5
rtcwake_main 455 453 -2
...
alarm_intr 93 84 -9
readcmd 1072 1062 -10
bb_ask 345 333 -12
more_main 845 832 -13
flush_stdout_stderr 42 23 -19
xfflush_stdout 27 - -27
flush_stderr 30 - -30
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 2/50 up/down: 31/-397) Total: -366 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-02 14:19:51 +01:00
Bernhard Reutner-Fischer
a48308701a
add and use xopen_nonblocking (-18b)
...
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-27 17:17:34 +01:00
Denys Vlasenko
180f585ac3
read_key: remove handling for ctrl-up/down, we don't use that. -12 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-26 00:59:59 +01:00
Denys Vlasenko
a17eeb847e
lineedit: handle Ctrl-arrows
...
function old new delta
read_line_input 4629 4824 +195
BB_isalnum - 39 +39
BB_ispunct - 35 +35
BB_isspace - 31 +31
static.esccmds 69 93 +24
vi_word_motion 165 162 -3
vi_back_motion 204 198 -6
vi_end_motion 172 163 -9
bb_iswspace 28 - -28
bb_iswpunct 32 - -32
bb_iswalnum 37 - -37
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 5/8 up/down: 334/-129) Total: 205 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-25 23:50:56 +01:00
Denys Vlasenko
9d57a8073a
libbb.h: tidy it up a bit. no code changes (verified)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 14:24:44 +02:00
Denys Vlasenko
11c12c4720
fix isalnum and isxdigit. Unfortunately, +285 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 13:57:24 +02:00
Denys Vlasenko
a7a1fd02cb
eliminate all remaining users of ctype. ~600 byte large tables are gone.
...
function old new delta
skip_thing 253 278 +25
find_range 497 508 +11
ask 220 228 +8
...
setlocalenv 90 82 -8
bb_strtoll 84 76 -8
bb_strtol 85 77 -8
is_well_formed_var_name 75 66 -9
expand 651 641 -10
endofname 104 92 -12
buffer_fill_and_print 196 179 -17
isxdigit 18 - -18
httpd_main 729 711 -18
__GI_isxdigit 18 - -18
ispunct 20 - -20
isalnum 20 - -20
__GI_ispunct 20 - -20
__GI_isalnum 20 - -20
toupper 29 - -29
tolower 29 - -29
__GI_toupper 29 - -29
__GI_tolower 29 - -29
do_cmd 4454 4330 -124
------------------------------------------------------------------------------
(add/remove: 0/12 grow/shrink: 14/29 up/down: 81/-549) Total: -468 bytes
text data bss dec hex filename
823051 445 7548 831044 cae44 busybox_old
821970 441 7548 829959 caa07 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 13:05:03 +02:00
Denys Vlasenko
f2cbb03a37
*: optimize most of isXXXXX() macros
...
text data bss dec hex filename
824164 453 6812 831429 cafc5 busybox_old
823730 453 6812 830995 cae13 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 03:16:08 +02:00
Denys Vlasenko
7b4cd6f7b0
libbb: smaller isdigit. -95 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 02:22:03 +02:00
Denys Vlasenko
f125b6d341
*: use better isspace implementation
...
function old new delta
asciifile 90 106 +16
expand 653 658 +5
skip_non_whitespace 21 25 +4
bb_iswspace 25 28 +3
readcmd 1071 1072 +1
find_range 496 497 +1
singlemount 772 771 -1
ifupdown_main 2134 2133 -1
edir 370 369 -1
volume_id_set_label_string 82 79 -3
trim 85 82 -3
rtc_adjtime_is_utc 141 138 -3
rewrite 1039 1036 -3
do_cmd 4465 4462 -3
bb_dump_add 358 355 -3
awk_split 553 550 -3
fbset_main 1273 1268 -5
skip_thing 259 253 -6
get_trimmed_slice 46 39 -7
bb__parsegrent 245 238 -7
parse_file_cmd 116 108 -8
check 1532 1523 -9
bb__pgsreader 198 188 -10
dot_skip_over_ws 61 46 -15
colon 3032 3012 -20
if_readlist_proc 655 634 -21
normalize 193 165 -28
add_cmd 1162 1133 -29
get_key 528 476 -52
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/23 up/down: 30/-241) Total: -211 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-22 19:41:45 +02:00
Denys Vlasenko
36df04837a
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 16:07:28 +02:00
Vladimir Dronnikov
db67a20595
move generate_uuid from mkswap to libbb
...
Signed-off-by: Vladimir Dronnikov <dronnikov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-15 09:24:25 +02:00
Denys Vlasenko
0bf44d00a4
libbb/human_readable.c: shrink; and reduce bss usage
...
also, move smart_ulltoaN there and comment usage locations
function old new delta
static.unit_chars 7 9 +2
utoa_to_buf 110 108 -2
make_human_readable_str 262 258 -4
fallbackSort 1723 1719 -4
static.fmt 97 92 -5
static.fmt_tenths 10 - -10
static.str 21 4 -17
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/5 up/down: 2/-42) Total: -40 bytes
text data bss dec hex filename
820981 453 6932 828366 ca3ce busybox_old
820968 453 6916 828337 ca3b1 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-13 01:25:09 +02:00
Denys Vlasenko
dcd27abcc4
unpackers: check errors from close() too
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-05 03:03:07 +02:00
Denys Vlasenko
8f7a6d294f
find: -follow should not error out on dandling links
...
function old new delta
recursive_action 425 465 +40
find_main 436 465 +29
test_main 247 253 +6
need_print 1 - -1
doCommands 2523 2521 -2
compare_keys 737 735 -2
xdev_dev 4 - -4
xdev_count 4 - -4
recurse_flags 4 - -4
mkfs_vfat_main 1609 1605 -4
actions 4 - -4
fileAction 588 583 -5
------------------------------------------------------------------------------
(add/remove: 0/5 grow/shrink: 3/4 up/down: 75/-30) Total: 45 bytes
text data bss dec hex filename
822711 450 7684 830845 cad7d busybox_old
822773 445 7668 830886 cada6 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-29 11:07:04 +02:00
Denys Vlasenko
4ff1ce0639
ps: fix compile breakage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-22 11:21:48 +02:00
Denys Vlasenko
b410d4ada7
ps,top: add an option to show threads. +260 bytes of code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-19 22:29:42 +02:00
Denys Vlasenko
3a0f6f2328
fix read_cmdline API and a small buglet where "[comm]" may be too narrow
...
function old new delta
func_args 25 26 +1
read_cmdline 119 114 -5
display_process_list 1462 1447 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 1/-20) Total: -19 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-12 00:15:34 +02:00
Denys Vlasenko
5370bfb123
documentation and typo fixes. By Dan Fandrich (dan AT coneharvesters.com)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 02:58:59 +02:00
Denys Vlasenko
90a9904e9e
remove some GNUisms. by Dan Fandrich (dan AT coneharvesters.com)
...
function old new delta
logdirs_reopen 1310 1308 -2
read_line_input 4757 4753 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6) Total: -6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 02:36:23 +02:00
Denys Vlasenko
f2a8d5db9a
fix duplicate FAST_FUNC FAST_FUNC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-21 17:40:36 +02:00
Alexander Shishkin
e766f62132
make find_pid_by_name look at /proc/PID/exe too
...
function old new delta
procps_scan 1642 1709 +67
find_pid_by_name 193 223 +30
free_procps_scan 29 37 +8
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-29 01:35:13 +02:00
Denys Vlasenko
6ae6426a74
fix mountpoint test to not prevemt mkfs_xxx from making image in any file
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18 16:22:26 +02:00
Denys Vlasenko
7aca89a7a3
touch: implement -d --date (our own testsuite needs that)
...
function old new delta
static.uname_longopts - 137 +137
touch_main 231 360 +129
static.touch_longopts - 32 +32
validate_tm_time - 28 +28
packed_usage 26616 26624 +8
date_main 687 686 -1
static.longopts 162 - -162
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/1 up/down: 334/-163) Total: 171 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18 03:41:29 +02:00
Denys Vlasenko
73b71f381d
date: factor out date parsing (in preparation for touch -d)
...
function old new delta
parse_datestr - 391 +391
sha512_process_block128 1283 1310 +27
buffer_fill_and_print 179 196 +17
nexpr 826 840 +14
unzip_main 1931 1939 +8
popstring 134 140 +6
qrealloc 33 36 +3
builtin_umask 121 123 +2
evalvar 1365 1363 -2
changepath 194 192 -2
do_compress 1698 1688 -10
hwclock_main 340 329 -11
cmdputs 414 402 -12
identify 4343 4329 -14
date_main 1186 687 -499
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/7 up/down: 468/-550) Total: -82 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18 03:40:35 +02:00
Denys Vlasenko
5c2e81bb67
fix a thinko in lineedit completion code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-16 14:14:34 +02:00
Mike Frysinger
52a426744e
restore shadow.h independence
...
Commit ee5dce3365
made busybox require shadow.h from the toolchain even
if the config opted for the internal busybox implementation. This makes
building with toolchains that lack shadow support impossible. Since the
merge only saved us from duplicating a simple structure (whose ABI isn't
going to ever change), restore the logic for complete busybox shadow
independence by reverting that previous commit slightly.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-09 01:35:29 -04:00
Denys Vlasenko
09e63bb81f
df: fix "df /"
...
also, clean up mount checks in mkfs/fsck.
function old new delta
find_mount_point 243 261 +18
sha1_process_block64 497 510 +13
find_main 436 444 +8
display_speed 85 90 +5
df_main 795 793 -2
parse_command 1463 1460 -3
static.ignored_mounts 8 - -8
mkfs_minix_main 2962 2937 -25
fsck_minix_main 3065 2970 -95
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/4 up/down: 44/-133) Total: -89 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05 04:50:36 +02:00
Denys Vlasenko
9b1b62adc4
Patches to enable FreeBSD build
...
platform.h: fix wrong check for endianness, fix lchown
aliasing to chown on uclibc.
Code seems to not be affected in my testing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05 03:34:12 +02:00
Denys Vlasenko
fca70a8cce
ps: conditionally support additional -o FIELDs
...
function old new delta
procps_scan 1409 1642 +233
out_spec 220 300 +80
func_ruser - 36 +36
func_rgroup - 36 +36
func_group 13 49 +36
func_nice - 29 +29
buffer_fill_and_print 179 196 +17
send_tree 355 360 +5
mkfs_vfat_main 1604 1609 +5
display_speed 85 90 +5
scriptreplay_main 194 197 +3
find_out_spec 55 58 +3
changepath 192 195 +3
sha1_process_block64 497 484 -13
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 10/1 up/down: 491/-13) Total: 478 bytes
Signed-off-by: David Krakov <krakov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-03 22:16:17 +02:00
Denys Vlasenko
f3b92d3856
getopt: FEATURE_GETOPT_LONG for -l; rename GETOPT_LONG to LONG_OPTS
...
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 12:10:38 +02:00
Denys Vlasenko
8f24f9812d
stop using non-standard macro, use WEXITSTATUS instead
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-07 16:02:00 +02:00
Denys Vlasenko
4b7db4f2ca
read_key: drop optimization where we read 3 bytes at once
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-29 10:39:06 +02:00
Denys Vlasenko
020f40693a
line editing: add an option to emit ESC [ 6 n and use results
...
This makes line editing able to recognize case when
cursor was not at the beginning of the line. It may also
be adapted later to find out display size (serial line users
would love it).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-17 16:44:54 +02:00
Denys Vlasenko
071ede1e5d
xmalloc_[open_]read[_close]: do not ignore xrealloc return value
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-15 23:23:23 +02:00
Denys Vlasenko
c15f40c3e7
lineedit: use read_key to recognize ESC sequence.
...
This fixes several vi mode bugs and prepares for further fixes.
function old new delta
read_line_input 3287 5511 +2224
remember_in_history - 499 +499
lineedit_read_key - 70 +70
read_key 321 332 +11
input_tab 2823 - -2823
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 2/0 up/down: 2804/-2823) Total: -19 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-15 03:27:53 +02:00
Denis Vlasenko
1cf4a0eb81
httpd: simplify insane conf file parser
...
function old new delta
bb_simplify_abs_path_inplace - 98 +98
parse_expr 824 832 +8
passwd_main 1025 1027 +2
evalvar 1374 1376 +2
parse_command 1463 1460 -3
bb_simplify_path 137 55 -82
parse_conf 1572 1422 -150
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 3/3 up/down: 126/-251) Total: -125 bytes
2009-04-22 13:49:16 +00:00
Denis Vlasenko
5e34ff29bc
*: mass renaming of USE_XXXX to IF_XXXX
...
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!
2009-04-21 11:09:40 +00:00
Denis Vlasenko
829bbd3b57
*: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}
...
by Tito (farmatito AT tiscali.it)
function old new delta
update_passwd 743 1171 +428
bb_perror_nomsg - 9 +9
find_main 436 444 +8
passwd_main 1023 1027 +4
nameval 202 206 +4
chpasswd_main 315 319 +4
bb__parsespent 119 117 -2
adduser_main 654 650 -4
addgroup_main 345 341 -4
sv_main 1228 1222 -6
deluser_main 173 160 -13
bb_internal_putpwent 69 - -69
add_user_to_group 231 - -231
del_line_matching 460 31 -429
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 5/6 up/down: 457/-758) Total: -301 bytes
2009-04-14 00:51:05 +00:00
Denis Vlasenko
0b791d9a97
move llist_find_str from modutils to libbb
2009-04-13 20:52:00 +00:00
Denis Vlasenko
f81e8dbc74
*: make "pragma GCC visibility push(hidden)" less ugly
2009-04-09 12:35:13 +00:00
Denis Vlasenko
3266aa9ec2
trailing whitespace removal
2009-04-01 11:24:04 +00:00
Denis Vlasenko
9d04b6b630
mkdosfs (aka mkfs.vfat): new applet by Vladimir
...
text data bss dec hex filename
821202 476 7616 829294 ca76e busybox_old
823577 476 7616 831669 cb0b5 busybox_unstripped
2009-03-28 02:13:01 +00:00
Denis Vlasenko
c0ea82a457
libbb: revent previous version of "concurrent history updating"
...
and replace it with one which does not "snoop" history written
by others. (1) it is what bug 185 needs, and (2) it is less bloaty:
function old new delta
load_history - 252 +252
read_line_input 3155 3287 +132
next_token 914 918 +4
qrealloc 36 33 -3
getoptscmd 713 708 -5
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/2 up/down: 388/-8) Total: 380 bytes
2009-03-23 06:33:37 +00:00
Denis Vlasenko
57abf9e947
libbb: make history saving/loading concurrent-safe
...
* all history writers always append (not overwrite) history files
* they reload history if they detect that file length has changed since last
write
* they trim history file only when it grows 4 times longer than MAXLINES
* they do this atomically by creating new file and renaming it to old
Unfortunately, this comes at a price:
function old new delta
load_history - 346 +346
read_line_input 3155 3358 +203
new_line_input_t 17 31 +14
...irrelevant small jitter...
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/5 up/down: 573/-13) Total: 560 bytes
2009-03-22 19:00:05 +00:00
Denis Vlasenko
83518d18a3
Compatibility fixes:
...
grep: support -z
find: support --mindepth
together +45 bytes
cpio: support -p (configurable, +230 bytes)
libbb: tweaks for cpio
2009-03-20 22:17:13 +00:00
Denis Vlasenko
9f57cf6604
ftpd: fix command fetching to not do it in 1-byte reads;
...
fix command de-escaping. Tested to download files with embeeded \xff and LF.
libbb: tweaks for the above
function old new delta
ftpd_main 2231 2321 +90
xmalloc_fgets_internal 190 222 +32
xmalloc_fgets_str_len - 27 +27
xmalloc_fgets_str 7 23 +16
xmalloc_fgetline_str 10 26 +16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/0 up/down: 181/0) Total: 181 bytes
2009-03-18 17:32:44 +00:00
Denis Vlasenko
8ec8d5e3db
sha: fix thinko in sha512; add FAST_FUNC to sha1/sha256
...
function old new delta
sha512_process_block128 1334 1336 +2
sha1_hash 112 111 -1
sha256_process_block64 446 440 -6
sha1_process_block64 494 484 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 2/-17) Total: -15 bytes
2009-03-15 02:56:00 +00:00
Denis Vlasenko
e9afc468fa
sha: merge sha1/sha256 handling (they are similar enough for this),
...
shrink sha215 code
function old new delta
sha1_end 129 142 +13
sha1_process_block64 486 494 +8
sha256_begin 37 44 +7
sha1_begin 49 56 +7
sha1_hash 108 112 +4
...
sha512_end 204 184 -20
sha512_process_block128 1405 1334 -71
sha256_process_block64 520 446 -74
sha256_end 147 - -147
sha512_hash 297 130 -167
sha256_hash 260 - -260
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 11/9 up/down: 59/-752) Total: -693 bytes
2009-03-15 02:28:05 +00:00
Denis Vlasenko
c8329c9568
sha: reduce sha256/512 context size. Make sha1/sha256 code more similar
...
function old new delta
sha512_end 182 204 +22
sha256_end 137 147 +10
sha1_hash 113 108 -5
sha1_end 143 129 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 32/-19) Total: 13 bytes
2009-03-12 19:06:18 +00:00
Denis Vlasenko
cd2cd312b7
shrink sha hashing a bit more (remove wbuflen field from ctx),
...
remove the requirement for aligned buffer
function old new delta
sha512_hash 262 297 +35
sha1_end 136 143 +7
passwd_main 1019 1023 +4
sha256_end 135 137 +2
count_lines 72 74 +2
sha256_hash 259 260 +1
popstring 164 158 -6
sha512_begin 88 81 -7
sha256_begin 44 37 -7
parse_expr 832 824 -8
bbunpack 446 438 -8
sha256_process_block64 529 520 -9
md5_end 166 151 -15
evaltreenr 817 802 -15
evaltree 817 802 -15
sha512_end 204 182 -22
sha512_process_block128 1444 1405 -39
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/11 up/down: 51/-151) Total: -100 bytes
2009-03-12 15:40:27 +00:00
Denis Vlasenko
98c87f7575
sha256/512: code shrink. Run-tested.
...
function old new delta
sha512_process_block128 - 1444 +1444
sha1_process_block64 - 542 +542
sha256_process_block64 - 529 +529
K512_lo - 320 +320
K256 - 320 +320
init512_lo - 32 +32
init256 - 32 +32
sha1_hash 99 128 +29
sha256_end 160 135 -25
sha1_end 189 160 -29
sha512_end 237 204 -33
sha256_begin 77 44 -33
sha512_begin 154 88 -66
sha256_hash 338 259 -79
sha512_hash 358 262 -96
sha1_compile 542 - -542
sha256_process_block 594 - -594
static.K 896 - -896
sha512_process_block 1861 - -1861
------------------------------------------------------------------------------
(add/remove: 7/4 grow/shrink: 1/7 up/down: 3248/-4254) Total: -1006 bytes
text data bss dec hex filename
808013 468 7856 816337 c74d1 busybox_old
807007 468 7856 815331 c70e3 busybox_unstripped
2009-03-11 21:15:51 +00:00
Denis Vlasenko
c41cba5a57
ftpd: reuse ls applet for LIST/NLST/STAT generation
...
function old new delta
popen_ls - 211 +211
ftpd_main 1760 1826 +66
handle_dir_common 199 228 +29
get_remote_transfer_fd 89 104 +15
replace_char 30 34 +4
handle_upload_common 263 265 +2
bind_for_passive_mode 129 121 -8
cmdio_write 84 62 -22
escape_text 166 136 -30
init_data_sock_params 81 - -81
ftpdataio_dispose_transfer_fd 87 - -87
write_dirstats 149 - -149
write_filestats 603 - -603
------------------------------------------------------------------------------
(add/remove: 1/4 grow/shrink: 11/5 up/down: 384/-986) Total: -602 bytes
text data bss dec hex filename
808804 476 7864 817144 c77f8 busybox_old
808156 476 7864 816496 c7570 busybox_unstripped
2009-03-09 15:46:07 +00:00
Denis Vlasenko
73c571a5ff
*: move get_sock_lsa and xwrite_str to libbb, use where appropriate
...
function old new delta
get_sock_lsa - 72 +72
buffer_fill_and_print 179 196 +17
parse_expr 824 832 +8
read_base64 343 348 +5
nameval 202 206 +4
fbset_main 1694 1698 +4
expand 1849 1853 +4
udhcp_send_kernel_packet 249 252 +3
udhcp_get_option 223 222 -1
chat_main 1246 1245 -1
pack_gzip 1661 1659 -2
doset 299 297 -2
bb__parsespent 119 117 -2
test_main 260 257 -3
qgravechar 109 106 -3
tcpudpsvd_main 1834 1830 -4
sysctl_display_all 589 580 -9
xopen_xwrite_close 44 33 -11
prs 30 18 -12
find_main 418 406 -12
full_write2_str 25 12 -13
adduser_main 667 654 -13
evaltreenr 817 802 -15
evaltree 817 802 -15
tftpd_main 526 493 -33
ftpd_main 2050 1990 -60
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/18 up/down: 117/-211) Total: -94 bytes
2009-03-09 00:12:37 +00:00
Denis Vlasenko
fb1a23d73b
halt/reboot/poweroff: improve error reporting
...
function old new delta
halt_main 207 185 -22
2009-03-07 01:54:24 +00:00
Denis Vlasenko
9f00e05781
killall and sestatus also need ARGVN scanning
2009-02-14 01:36:11 +00:00
Denis Vlasenko
cab28aa7de
init: preparatory patch, no code changes
2009-01-31 01:02:07 +00:00
Denis Vlasenko
76ddc2e3e4
libbb: add bb_unsetenv (taken from hush).
...
udhcpc: stop filtering environment passed to the script.
crond: fix uncovered potential bug (failing unsetenv)
mdev: fix uncovered potential bug (failing unsetenv)
tcp, udpsvd: fix uncovered potential bug (failing unsetenv)
function old new delta
safe_setenv - 58 +58
bb_unsetenv - 55 +55
builtin_unset 139 138 -1
tcpudpsvd_main 1843 1830 -13
free_strings_and_unsetenv 87 53 -34
udhcp_run_script 1186 1133 -53
safe_setenv4 62 - -62
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/4 up/down: 113/-163) Total: -50 bytes
2008-12-30 05:05:31 +00:00
Denis Vlasenko
4e12b1a2a9
libbb: introduce and use xmalloc_ttyname (-32 in bss).
...
ash: small code shrink
text data bss dec hex filename
793669 504 7524 801697 c3ba1 busybox_old
793659 504 7492 801655 c3b77 busybox_unstripped
2008-12-23 23:36:47 +00:00
Denis Vlasenko
e53738558f
*: fix SO_BINDTODEVICE. Kernel wants at least IFNAMSIZ bytes there.
2008-12-10 11:12:16 +00:00
Denis Vlasenko
15437e3e2a
libbb: add xgetgrnam too. ~0 code size change
2008-12-05 16:23:06 +00:00
Denis Vlasenko
d7a805efaf
libbb: introduce and use xgetpwnam. ~ -150 bytes.
2008-12-03 19:05:55 +00:00
Bernhard Reutner-Fischer
82b1429966
- add new applet mkpasswd(1)
...
function old new delta
bb_ask - 355 +355
mkpasswd_main - 296 +296
.rodata 121746 121847 +101
packed_usage 24632 24689 +57
static.methods - 21 +21
gmatch 229 248 +19
bb_ask_stdin - 11 +11
applet_names 1949 1958 +9
applet_main 1172 1176 +4
sulogin_main 503 505 +2
applet_nameofs 586 588 +2
sha256_hash 329 327 -2
correct_password 208 206 -2
parse_command 1442 1439 -3
get_cred_or_die 145 141 -4
passwd_main 1054 1044 -10
bb_askpass 348 - -348
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 7/5 up/down: 877/-369) Total: 508 bytes
2008-12-03 18:48:39 +00:00
Denis Vlasenko
0c68a874e7
libbb: password/group function helpers rewritten by Tito:
...
function old new delta
xgetpwuid - 27 +27
uid2uname_utoa - 22 +22
gid2group_utoa - 22 +22
uid2uname - 18 +18
gid2group - 18 +18
buffer_fill_and_print 179 196 +17
print_user 12 24 +12
print_group 12 24 +12
get_cached 89 99 +10
...
print_common 134 120 -14
vlock_main 415 396 -19
logger_main 410 387 -23
crontab_main 642 609 -33
bb_getpwuid 42 - -42
bb_getgrgid 42 - -42
bb_getug 80 - -80
------------------------------------------------------------------------------
(add/remove: 6/3 grow/shrink: 9/11 up/down: 187/-296) Total: -109 bytes
2008-12-02 22:56:59 +00:00
Denis Vlasenko
360d9661b6
libbb: add strncpy_IFNAMSIZ
...
function old new delta
...
udhcp_read_interface 225 220 -5
brctl_main 1151 1146 -5
add_interface 109 104 -5
ipaddr_list_or_flush 2174 2167 -7
do_add_ioctl 88 80 -8
vconfig_main 249 240 -9
do_del_ioctl 78 68 -10
do_iplink 1186 1173 -13
do_if_fetch 766 753 -13
buffer_fill_and_print 196 179 -17
parse_args 1709 1684 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/20 up/down: 11/-140) Total: -129 bytes
2008-12-02 18:18:50 +00:00
Denis Vlasenko
a9acbe6cad
timeout: new applet. 370 bytes. by Roberto Foglietta.
2008-11-24 13:25:20 +00:00
Denis Vlasenko
e9b9a19ad3
libbb: disable a second md5 implementation which managed to creep in :)
...
function old new delta
sha512_end 239 237 -2
sha256_end 162 160 -2
sha1_end 191 189 -2
md5_end 168 166 -2
__md5__magic 4 - -4
md5_crypt 627 621 -6
static.S 16 - -16
__md5_Init 42 - -42
static.P 64 - -64
__md5_Final 131 - -131
__md5_Update 153 - -153
static.C 268 12 -256
__md5_Transform 293 - -293
------------------------------------------------------------------------------
(add/remove: 0/7 grow/shrink: 0/6 up/down: 0/-973) Total: -973 bytes
2008-11-11 01:38:04 +00:00
Denis Vlasenko
56dceb9b77
sha256,sha512: new applets. +4.9kb
...
we will require sha256/512 code for new $5$ and $6$ style
password hashes anyway, they are showing up already
in people's /etc/passwd...
2008-11-10 13:32:50 +00:00
Denis Vlasenko
f10bc3964f
correction in comment
2008-11-06 23:28:42 +00:00
Denis Vlasenko
3854c5ddf4
runsvdir: alternative methon of supporting runsvdir-as-init. +66 bytes.
...
*: s/int/pid_t where appropriate
2008-11-06 22:39:57 +00:00
Denis Vlasenko
35a064b67f
build system: tidying up CONFIG_xxx names (suggested by Rob)
2008-11-06 00:49:59 +00:00
Denis Vlasenko
202ac504e1
*: code shrink by adding a wrapper around very common tcsetattr(0, TCSANOW, xx) op
...
function old new delta
tcsetattr_stdin_TCSANOW - 14 +14
set_sane_term 116 113 -3
top_main 1277 1273 -4
make_new_session 421 415 -6
rawmode 133 126 -7
reset_term 18 10 -8
die 43 35 -8
cookmode 62 54 -8
vlock_main 425 415 -10
read_line_input 3165 3155 -10
bb_askpass 357 347 -10
fsck_minix_main 3079 3065 -14
getty_main 2375 2332 -43
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/12 up/down: 14/-131) Total: -117 bytes
2008-11-05 13:20:58 +00:00
Denis Vlasenko
1a9e9bdd93
gunzip: restore mtime. approx +80 bytes of code
...
rpm: make code more robust
lsmod: small code shrink
2008-11-01 12:54:56 +00:00
Denis Vlasenko
5f6aaf39cf
less: reuse former vi's key reading code. Improve SIGWINCH handling.
...
function old new delta
less_main 2056 2097 +41
getch_nowait 248 273 +25
read_key 310 321 +11
static.esccmds 61 69 +8
count_lines 72 74 +2
less_gets 166 142 -24
less_getch 172 43 -129
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/5 up/down: 91/-170) Total: -79 bytes
text data bss dec hex filename
2008-10-25 23:27:29 +00:00
Denis Vlasenko
0112ff5203
vi: move key reading routine out of vi into llbbb
...
function old new delta
read_key - 310 +310
....
static.esccmds 170 61 -109
readit 286 60 -226
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 9/10 up/down: 349/-367) Total: -18 bytes
2008-10-25 23:23:00 +00:00
Denis Vlasenko
ee5dce3365
libpwdgrp: make it coexist with <pwd.h>, <grp.h> and <shadow.h>.
...
allows to get rid of hacks in libbb.h (extra declaration of setgroups -
now it comes from grp.h as intended).
2008-09-26 10:35:55 +00:00
Denis Vlasenko
17e7f04c8d
top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)
2008-09-25 10:48:06 +00:00
Denis Vlasenko
cac0f5b7e5
return setgroups() decl to libbb, it is needed if we use libpwdgrp.
2008-09-25 10:20:46 +00:00
Mike Frysinger
f6cad924b1
we dont provide setgroups() replacement, so dont provide the prototype either ... especially since it conflicts on some systems (like Darwin)
2008-09-25 00:41:49 +00:00
Denis Vlasenko
08ea11ab07
runsvd: shrink by Vladimir
...
*: use unified trivial signal handler
function old new delta
record_signo - 10 +10
process_stdin 433 443 +10
bbunpack 383 391 +8
wc_main 598 605 +7
conescape 293 296 +3
nmeter_main 670 672 +2
fallbackSort 1717 1719 +2
bb_got_signal - 1 +1
microcom_main 713 712 -1
signalled 2 - -2
pack_gzip 1661 1659 -2
evalvar 1376 1374 -2
compare_keys 737 735 -2
parse_command 1460 1456 -4
expand 1748 1744 -4
s_term 37 29 -8
s_hangup 8 - -8
fgotsig 10 - -10
find_pair 187 169 -18
signal_handler 190 170 -20
runsvdir_main 1701 1583 -118
------------------------------------------------------------------------------
(add/remove: 2/3 grow/shrink: 6/10 up/down: 43/-199) Total: -156 bytes
2008-09-11 19:51:11 +00:00
Denis Vlasenko
69f4f9a6f4
optimize config_read() (by Timo Teras <timo.teras AT iki.fi>)
...
function old new delta
bb_get_chunk_with_continuation - 176 +176
find_pair 169 187 +18
...
process_stdin 443 433 -10
config_read 549 456 -93
bb_get_chunk_from_file 139 7 -132
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/7 up/down: 215/-254) Total: -39 bytes
2008-08-09 17:16:40 +00:00
Denis Vlasenko
2afd5ab62c
*: use get_console_fd() as appropriate, and make it fail on open error -
...
get_console_fd_or_die().
function old new delta
get_console_fd_or_die - 163 +163
loadkmap_main 211 201 -10
loadfont_main 440 430 -10
dumpkmap_main 218 208 -10
kbd_mode_main 158 146 -12
setkeycodes_main 156 143 -13
get_console_fd 163 - -163
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/5 up/down: 163/-218) Total: -55 bytes
2008-08-05 23:32:27 +00:00
Denis Vlasenko
e9ad84dfd4
*: refactor handling of archived files. "tar f file.tar.lzma" now works too.
...
function old new delta
unpack_Z_stream - 1229 +1229
open_zipped - 176 +176
unpack_bz2_stream_prime - 60 +60
tar_main 642 677 +35
find_main 406 418 +12
sv_main 1222 1233 +11
decode_format_string 829 837 +8
cmp_main 641 649 +8
popstring 134 140 +6
filter_accept_list_reassign 120 125 +5
parse_and_put_prompt 800 804 +4
passwd_main 1053 1049 -4
make_new_name_gunzip 119 114 -5
rpm_main 1688 1670 -18
prepare 302 283 -19
xmalloc_open_zipped_read_close 135 61 -74
uncompress 1229 - -1229
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 8/5 up/down: 1554/-1349) Total: 205 bytes
2008-08-05 13:10:34 +00:00
Denis Vlasenko
855ff6f503
modprobe: use buffering line reads (fgets) instead of reads().
...
libbb: remove reads()
function old new delta
include_conf_file_act 961 980 +19
localcmd 282 284 +2
already_loaded 155 151 -4
in_cksum 58 53 -5
modprobe_main 1630 1624 -6
reads 129 - -129
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/3 up/down: 21/-144) Total: -123 bytes
2008-08-04 21:16:46 +00:00
Denis Vlasenko
27842288b3
libbb: make xrealloc_vector zero out the realloc'ed tail
...
function old new delta
xrealloc_vector_helper 51 76 +25
man_main 712 705 -7
act 250 234 -16
create_list 91 70 -21
getopt_main 695 664 -31
load_dep_bb 281 248 -33
fileAction 744 709 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 25/-143) Total: -118 bytes
2008-08-04 13:20:36 +00:00
Denis Vlasenko
6e69e4237d
netstat: optional -p support by L. Gabriel Somlo <somlo AT cmu.edu>
...
Without FEATURE_NETSTAT_PRG:
function old new delta
recursive_action 416 425 +9
tcp_do_one 420 428 +8
udp_do_one 492 499 +7
raw_do_one 472 479 +7
expand 1697 1701 +4
netstat_main 489 492 +3
unix_do_one 486 488 +2
flags 1 - -1
qgravechar 109 106 -3
net_conn_line 4 - -4
bbunpack 391 383 -8
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/2 up/down: 40/-16) Total: 24 bytes
With FEATURE_NETSTAT_PRG:
file_act - 213 +213
dir_act - 192 +192
netstat_main 489 601 +112
prg_cache_get - 50 +50
tcp_do_one 420 462 +42
udp_do_one 492 533 +41
raw_do_one 472 513 +41
unix_do_one 486 519 +33
recursive_action 416 425 +9
expand 1697 1701 +4
flags 1 - -1
qgravechar 109 106 -3
net_conn_line 4 - -4
bbunpack 391 383 -8
packed_usage 24586 24572 -14
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 7/3 up/down: 737/-30) Total: 707 bytes
2008-07-27 12:10:07 +00:00
Denis Vlasenko
084266ed52
fix several problems with config parser:
...
a bug where it underflows the string
a bug where it never frees parser_t struct
make read_config() return 0 if parser is NULL,
make config_close() accept and ignore NULL parser -
eliminates many if() blocks
reverse the sense of parser bit flags - negative flags
are harder to grok.
hexdump: revert the change to use config parser, it is BIGGER
and also requires additional quirks in parser
*: explicitly use PARSER_NORMAL instead of 0
function old new delta
login_main 1575 1596 +21
config_close 18 29 +11
bbunpack 383 391 +8
qgravechar 106 109 +3
rtnl_tab_initialize 121 117 -4
expand 1697 1693 -4
man_main 717 712 -5
nameif_main 674 668 -6
hexdump_main 597 591 -6
read_config 217 209 -8
dnsd_main 1478 1470 -8
sysctl_main 203 189 -14
config_open2 44 25 -19
make_device 1177 1141 -36
config_read 597 549 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/11 up/down: 43/-158) Total: -115 bytes
2008-07-26 23:08:31 +00:00
Denis Vlasenko
0f99d49ae6
*: conversion to config parser
...
function old new delta
config_read 540 597 +57
config_open2 41 44 +3
rtnl_rtprot_initialize 70 66 -4
rtnl_rttable_initialize 78 73 -5
rtnl_rtscope_initialize 88 83 -5
rtnl_rtrealm_initialize 48 43 -5
rtnl_rtdsfield_initialize 48 43 -5
process_module 566 560 -6
bbunpack 391 383 -8
rtnl_tab_initialize 279 121 -158
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/8 up/down: 60/-196) Total: -136 bytes
2008-07-24 23:38:04 +00:00
Denis Vlasenko
0f293b96dc
fix all cases of strcpy on overlapping strings.
2008-07-22 20:16:55 +00:00
Denis Vlasenko
5415c856ea
libbb: [x]fopen_for_{read,write} introduced and used.
...
(by Valdimir)
function old new delta
config_open2 - 41 +41
config_read 507 542 +35
find_pair 169 187 +18
fopen_for_write - 14 +14
fopen_for_read - 14 +14
find_main 406 418 +12
xfopen_for_write - 10 +10
xfopen_for_read - 10 +10
popstring 134 140 +6
parse_inittab 396 401 +5
next_token 923 928 +5
pack_gzip 1659 1661 +2
bb__parsespent 117 119 +2
fallbackSort 1719 1717 -2
evalvar 1376 1374 -2
qrealloc 36 33 -3
...
...
...
...
singlemount 4579 4569 -10
process_stdin 443 433 -10
patch_main 1111 1101 -10
ifupdown_main 2175 2165 -10
file_action_grep 90 80 -10
uuidcache_init 649 637 -12
hush_main 797 785 -12
read_config 230 217 -13
dpkg_main 3835 3820 -15
read_line_input 3134 3110 -24
sysctl_main 232 203 -29
config_open 40 10 -30
WARN_BAD_LINE 44 - -44
login_main 1714 1575 -139
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
2008-07-21 23:05:26 +00:00
Bernhard Reutner-Fischer
d73cbd31a2
- first pass to unify/cleanup uid handling (-236b)
...
This needs further love, alot of love.. Tito?
2008-07-21 14:41:33 +00:00
Denis Vlasenko
dcb3fcb042
libbb: config_read() update
2008-07-19 22:57:00 +00:00
Denis Vlasenko
2e157ddf9e
libbb: updated config_parse() from Vladimir
...
function old new delta
config_read 385 460 +75
runsvdir_main 1701 1716 +15
readit 331 338 +7
passwd_main 1049 1053 +4
parse_command 1504 1507 +3
decode_format_string 822 824 +2
bb__parsespent 117 119 +2
udhcp_get_option 221 222 +1
changepath 196 194 -2
parse_inittab 400 396 -4
nameif_main 683 679 -4
make_device 1176 1172 -4
config_open 48 40 -8
expand_main 698 689 -9
readcmd 1012 1002 -10
config_free_data 37 21 -16
SynchronizeFile 683 643 -40
sleep_main 474 362 -112
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/10 up/down: 109/-209) Total: -100 bytes
2008-07-19 09:27:19 +00:00
Denis Vlasenko
3b3ca113ed
pidof/killall: allow find_pid_by_name to find running
...
processes started as scripts_with_name_longer_than_15_bytes.sh
closes bug 4054 (and is generally neat)
2008-07-17 18:39:36 +00:00
Bernhard Reutner-Fischer
679212836a
- fix segfault in nameif with mactab file
...
(by fixing and shrink config parser)
function old new delta
config_free_data - 37 +37
config_open 43 48 +5
pack_gzip 1658 1660 +2
nameif_main 527 525 -2
SynchronizeFile 629 623 -6
make_device 1184 1176 -8
config_close 31 18 -13
config_read 431 393 -38
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/5 up/down: 44/-67) Total: -23 bytes
2008-07-17 11:59:13 +00:00
Denis Vlasenko
c01340fe26
update of config file parser from Vladimir
2008-07-16 22:12:18 +00:00
Denis Vlasenko
5e476bab9c
libbb: document plans to speed up line-based input
2008-07-15 21:29:44 +00:00
Denis Vlasenko
e559e0a757
libbb: unified config parser (By Vladimir Dronnikov)
...
mdev: use it
function old new delta
config_read - 400 +400
config_open - 43 +43
config_close - 9 +9
qrealloc 33 36 +3
compare_keys 735 737 +2
xstrtoull_range_sfx 296 295 -1
qgravechar 109 106 -3
get_address 181 178 -3
next_token 928 923 -5
sv_main 1228 1222 -6
find_main 418 406 -12
next_field 32 - -32
make_device 1269 1184 -85
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/7 up/down: 457/-147) Total: 310 bytes
2008-07-15 21:09:30 +00:00
Denis Vlasenko
2132e02213
libbb: experimental faster string reading routines.
2008-07-15 10:33:12 +00:00