Denys Vlasenko
e52da5570e
libbb: auto_string() for efficient handling of temporary malloced stirngs
...
Use it in libiproute: get rid of one static string buffer.
function old new delta
auto_string - 51 +51
ll_index_to_name 10 49 +39
buffer_fill_and_print 169 178 +9
scan_recursive 378 380 +2
decode_one_format 732 734 +2
cmdputs 334 332 -2
static.cur_saved 4 1 -3
static.nbuf 16 - -16
printable_string 94 57 -37
ll_idx_n2a 53 - -53
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 4/3 up/down: 103/-111) Total: -8 bytes
text data bss dec hex filename
939880 992 17496 958368 e9fa0 busybox_old
939880 992 17480 958352 e9f90 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 17:59:56 +02:00
Denys Vlasenko
550bf5b4a4
remove global "jmp_buf die_jmp" from !FEATURE_PREFER_APPLETS builds
...
function old new delta
xfunc_has_died - 21 +21
sleep_much - 12 +12
sleep10 - 9 +9
die_func - 4 +4
fflush_stdout_and_exit 35 36 +1
builtin_type 121 119 -2
die_sleep 4 - -4
xfunc_die 60 24 -36
hush_main 1128 1011 -117
die_jmp 156 - -156
------------------------------------------------------------------------------
(add/remove: 4/2 grow/shrink: 1/3 up/down: 47/-315) Total: -268 bytes
text data bss dec hex filename
939992 992 17652 958636 ea0ac busybox_old
939880 992 17496 958368 e9fa0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 16:42:57 +02:00
Denys Vlasenko
4cd99e7c6c
ash: "you have mail" should ignore first change in mtime
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 16:02:53 +02:00
Denys Vlasenko
2384162f64
ash: simplify "you have mail" code
...
function old new delta
mailtime_hash - 4 +4
redirect 1282 1280 -2
mailtime 40 - -40
cmdloop 429 378 -51
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 4/-93) Total: -89 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 15:52:03 +02:00
Denys Vlasenko
4700fb5bea
ash: make dowait() a bit more readable. Logic is unchanged
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 15:40:13 +02:00
Denys Vlasenko
e1603156ff
updated android_ndk_defconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 18:17:31 +02:00
Denys Vlasenko
f2bf20f5d5
udhcpc: fix for some Android toolchain breakage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 18:13:57 +02:00
Denys Vlasenko
8403b01217
iproute: more string reuse
...
text data bss dec hex filename
936892 932 17676 955500 e946c busybox_old
936843 932 17676 955451 e943b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 17:15:08 +02:00
Christoph J. Thompson
d1eea8db92
iproute: don't hardcode the path to config files
...
Allows using an alternate path for config files.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Christoph J. Thompson <cjsthompson@gmail.com>
Signed-off-by: Michael Bestas <mikeioannina@gmail.com>
2015-10-08 17:06:06 +02:00
Denys Vlasenko
413feca279
ip: increased max ID for /etc/iproute2/rt_tables to 1023
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 15:10:10 +02:00
Denys Vlasenko
3d8d5e8ad4
libiproute: use itoa() where appropriate
...
function old new delta
rtnl_rtprot_a2n 31 88 +57
print_tunnel 647 640 -7
print_route 1865 1858 -7
print_linkinfo 820 812 -8
print_addrinfo 1241 1227 -14
rtnl_rttable_n2a 53 38 -15
rtnl_rtscope_n2a 53 38 -15
rtnl_rtrealm_n2a 53 38 -15
rtnl_dsfield_n2a 61 38 -23
rtnl_rtntype_n2a 118 89 -29
print_rule 724 689 -35
ipaddr_list_or_flush 1293 1253 -40
rtnl_rtprot_n2a 53 - -53
rtnl_rtprot_initialize 63 - -63
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/11 up/down: 57/-324) Total: -267 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 13:02:28 +02:00
Denys Vlasenko
7f3a2a2256
join some common strings, -400 bytes
...
function old new delta
print_intel_cstates 499 511 +12
file_insert 355 364 +9
dpkg_main 2944 2940 -4
ifenslave_main 645 640 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes
text data bss dec hex filename
937564 932 17676 956172 e970c busybox_old
937164 932 17676 955772 e957c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 11:24:44 +02:00
Denys Vlasenko
d60752f8c9
build system: -fno-builtin-printf
...
Benefits are: drops reference to out-of-line putchar(), fixes a few cases
of failed string merge.
function old new delta
i2cdump_main 1488 1502 +14
sha256_process_block64 423 433 +10
sendmail_main 1183 1185 +2
list_table 1114 1116 +2
i2cdetect_main 1235 1237 +2
fdisk_main 2852 2854 +2
builtin_type 119 121 +2
unicode_conv_to_printable2 325 324 -1
scan_recursive 380 378 -2
mkfs_minix_main 2687 2684 -3
buffer_fill_and_print 178 169 -9
putchar 152 - -152
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/4 up/down: 34/-167) Total: -133 bytes
text data bss dec hex filename
937788 932 17676 956396 e97ec busybox_old
937564 932 17676 956172 e970c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 22:42:45 +02:00
Denys Vlasenko
8c0708a329
find: support "find . -delete" idiom - do not try rmdir(".")
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 21:01:47 +02:00
Denys Vlasenko
305958dbd4
md5sum: code shrink
...
For CONFIG_MD5_SMALL=1:
function old new delta
md5_process_block64 925 881 -44
For CONFIG_MD5_SMALL=0:
function old new delta
md5_process_block64 1603 1586 -17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 19:17:01 +02:00
Denys Vlasenko
ec046f74a3
ash: use a more typical form of "print four octal digits" format
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:57:53 +02:00
Denys Vlasenko
5711a2a4ad
libbb: more compact API for bb_parse_mode()
...
function old new delta
make_device 2182 2188 +6
parse_command 1440 1443 +3
parse_params 1497 1499 +2
install_main 773 769 -4
mkdir_main 168 160 -8
getoptscmd 641 632 -9
builtin_umask 158 147 -11
bb_parse_mode 431 410 -21
umaskcmd 286 258 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 11/-81) Total: -70 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:55:33 +02:00
Denys Vlasenko
c1e2e005b4
ash: shrink "umask -S" code
...
function old new delta
umaskcmd 279 286 +7
static.permmode 3 - -3
static.permmask 18 - -18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:32:56 +02:00
Denys Vlasenko
6283f98283
hush: fix umask: umask(022) was setting umask(755)
...
Based on the patch by Rich Felker <dalias@libc.org>
function old new delta
builtin_umask 121 161 +40
umaskcmd 318 279 -39
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 16:56:20 +02:00
Denys Vlasenko
9c5410023a
ash: a bunch of trivial simplifications
...
Also, in a few places made code more reliable wrt large sizeof(int)
and sizeof(arith_t)..
function old new delta
sprint_status48 - 143 +143
newline_and_flush - 56 +56
showjob 365 382 +17
parse_command 1440 1443 +3
cmdputs 334 332 -2
cmdloop 434 429 -5
showjobs 70 64 -6
fg_bgcmd 296 290 -6
ash_vmsg 159 153 -6
ash_main 1487 1481 -6
jobscmd 94 82 -12
getoptscmd 687 632 -55
outcslow 56 - -56
sprint_status 156 - -156
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/8 up/down: 219/-310) Total: -91 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 15:44:36 +02:00
Denys Vlasenko
2007ef5c3c
wget: make it possible to have both SSL helpers configured
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:40:53 +02:00
Denys Vlasenko
4271698fea
ifplugd: discovered why it needed net/ethernet.h: just for ETH_ALEN
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:02:56 +02:00
Denys Vlasenko
78fb6ea63a
ssl_helper: tweaks discovered while building 32-bit version
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 02:00:11 +02:00
Denys Vlasenko
1c6c670ed4
wget: make openssl/ssl_helper choice configurable
...
I got sick of not being able to wget a https file...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 01:39:40 +02:00
Denys Vlasenko
3b650c1e7b
qemu testing: extract_od_binary.sh: support huge files (and broken od)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 16:46:29 +02:00
Denys Vlasenko
2b48c38be6
uudecode: tolerate text input with CR+LF line ends
...
function old new delta
read_stduu 265 308 +43
uudecode_main 313 317 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 15:10:44 +02:00
Denys Vlasenko
e6b578761a
qemu testing: Do build brctl and ifplugd; force mips32 dialect
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 12:43:04 +02:00
Denys Vlasenko
a779c6d63b
qemu testing: fix hexdumping of binary
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 12:34:24 +02:00
Denys Vlasenko
5fa6d1a632
Aboriginal linux/musl build fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 11:15:43 +02:00
Denys Vlasenko
12efcf3285
Add qemu_multiarch_testing/
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-05 09:04:04 +02:00
Denys Vlasenko
28b00ce6ff
awk: support "length" form of "length()". Closes 8371
...
function old new delta
parse_expr 805 848 +43
tokenlist 447 448 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-02 02:41:39 +02:00
Denys Vlasenko
c919d561ad
umount: always use umount2 syscall with specified flags
...
Make umount -f more compatible with util-linux 2.22.2.
Before:
* 'umount -f': calls umount syscall,
if it fails calls umount2 with 'MNT_FORCE'
* 'mount -f -l': calls umount syscall,
if it fails calls umount2 with 'MNT_LAZY'. 'MNT_FORCE' dropped
After:
* 'umount -f': calls umount2 syscall with 'MNT_FORCE'
* 'mount -f -l': calls umount2 syscall with 'MNT_LAZY' and 'MNT_FORCE'
function old new delta
umount 45 - -45
umount_main 610 555 -55
Signed-off-by: Anton Bondarenko <anton.bondarenko@axis.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-01 18:50:06 +02:00
Denys Vlasenko
c65a7596df
adduser: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 21:11:12 +02:00
Bernhard Reutner-Fischer
65db14ec50
adduser: Add -k /path/to/skel
...
function old new delta
.rodata 157069 157133 +64
adduser_main 921 936 +15
adduser_longopts 103 110 +7
packed_usage 30230 30236 +6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 92/0) Total: 92 bytes
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 21:09:18 +02:00
Bartosz Golaszewski
2beb52499e
i2c-tools: rename remaining defines
...
Rename the defines not present in linux UAPI headers to better reflect
their purpose.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:01 +02:00
Bartosz Golaszewski
d9892fa0c3
i2c-tools: remove duplicate definitions
...
Most applets include linux' user API headers instead of duplicating
the definitions. Make it the case for i2c-tools as well.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:00 +02:00
Denys Vlasenko
8aa7cf305b
sort: fix -kN,M handling (was including last separator into the comparison)
...
Testcase:
$ printf '%s\n' a/a:a a:b | sort -t: -k1,1
a:b
a/a:a
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-19 22:06:40 +02:00
Tito Ragusa
f085344d5c
libbb: another unit test for is_suffixed_with
...
Suggested by Bartosz Golaszewski.
Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-15 23:38:01 +02:00
Peter Korsgaard
875297378c
modprobe: handle module arguments containing spaces
...
Modprobe wasn't correctly parsing module arguments containing spaces from
/proc/cmdline - E.G. module.property="some text".
Extend the parsing to correctly handle quoted text.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-09 14:55:07 +02:00
Ron Yorston
ca25af9b06
ash: fix slash treatment in expmeta
...
Commit 549deab
caused this sequence of commands:
mkdir foo
cd foo
touch a b
echo "./"*
to return './*' instead of the expected './a ./b'. The problem
was caused by the backport of commit 880d952 from dash. In dash
the issue was fixed by two further commits by Herbert Xu:
<d6d06ff> [EXPAND] Fixed non-leading slash treatment in expmeta
<36f0fa8> [EXPAND] Fix slash treatment in expmeta
(See git://git.kernel.org/pub/scm/utils/dash/dash.git)
Apply these fixes to BusyBox ash, thus causing the new test
glob3.tests to succeed.
function old new delta
expmeta 469 528 +59
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 22:23:54 +02:00
Denys Vlasenko
b5be13ccd9
hush: fix a nommu bug where a part of function body is lost if run in a pipe
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 06:22:10 +02:00
Denys Vlasenko
2156e22853
Makefile.flags: survive a build system which has no pthread
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 04:20:51 +02:00
Denys Vlasenko
26c423d9a8
ash,hush: add a test which fails for ash since commit 549deab
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 03:33:02 +02:00
Denys Vlasenko
66a781acb9
ash: add tests adapted from hush glob tests. glob2.tests currently fails
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-04 03:27:08 +02:00
Denys Vlasenko
68acc0f835
libbb: make is_suffixed_with() return pointer inside string, not key.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 21:47:33 +02:00
Bartosz Golaszewski
7448b513c8
libbb: add is_suffixed_with() function
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 16:36:43 +02:00
Denys Vlasenko
5b865deb3f
ping: fix recently introduced build breakage for non-optimizing builds
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 16:26:31 +02:00
Bartosz Golaszewski
0a4d0e8fbf
libbb: add a comment describing the way is_prefixed_with() works
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 15:04:16 +02:00
Bartosz Golaszewski
b432923e29
libbb: add unit tests for is_prefixed_with()
...
Test corner cases too like looking for an empty prefix etc.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-25 15:00:24 +02:00
Sören Tempel
d862717328
login: don't print motd if .hushlogin exists in users home
...
function old new delta
login_main 978 996 +18
Signed-off-by: Sören Tempel <soeren@soeren-tempel.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-24 22:16:48 +02:00