Denys Vlasenko
afb73a25ea
hush: tweak command -vV printing code, no logic changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 16:17:59 +01:00
Denys Vlasenko
5700029c65
hush: implement "command -v -V"
...
function old new delta
pseudo_exec_argv 231 374 +143
if_command_vV_print_and_exit - 127 +127
builtin_set 267 273 +6
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 276/0) Total: 276 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 14:41:45 +01:00
Denys Vlasenko
cca7c611f2
which: fix TODO with NOFORK+malloc_failure misbehaving
...
function old new delta
find_executable 86 104 +18
which_main 202 194 -8
executable_exists 66 51 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 18/-23) Total: -5 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-12 13:21:33 +01:00
Denys Vlasenko
3bb3e1d0a1
hush: implement "command" builtin (no options are supported yet)
...
function old new delta
pseudo_exec_argv 194 231 +37
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 18:05:05 +01:00
Denys Vlasenko
1f1911239c
hush: fix handling of ^C in eval
...
function old new delta
run_list 1044 1259 +215
builtin_eval 45 126 +81
expand_strvec_to_string 91 - -91
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/0 up/down: 296/-91) Total: 205 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 13:17:30 +01:00
Denys Vlasenko
932b9971d0
hush: fix handling of raw ^C in scripts: "echo ^C"
...
function old new delta
expand_vars_to_list 1133 1187 +54
parse_stream 2690 2719 +29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 12:39:48 +01:00
Denys Vlasenko
aaf7a2e24d
hush: remove dead code
...
function old new delta
done_word 761 711 -50
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-11 11:19:00 +01:00
Denys Vlasenko
03c36e0be1
ash: ALWAYS_INLINE grabstackblock()
...
function old new delta
grabstackblock 5 - -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 15:18:35 +01:00
Denys Vlasenko
f2539c78d2
init: stop using static data
...
function old new delta
init_action_list 4 - -4
new_init_action 148 142 -6
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-10) Total: -10 bytes
text data bss dec hex filename
927839 481 6832 935152 e44f0 busybox_old
927833 481 6824 935138 e44e2 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 13:32:20 +01:00
Denys Vlasenko
baa41c7855
ash: make ${v:N:M} more robust for very large M by clamping to MIN/MAX_INT
...
Before this patch, "${v:2:0x100000001}" = "${v:2:1}",
and similarly, constructs like "${v:2:9999999999}" may give wrong result
due to int overflows.
function old new delta
substr_atoi - 43 +43
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 13:22:25 +01:00
Denys Vlasenko
2c876774a9
dd: fixed partial count logic
...
$ busybox dd if=/dev/zero of=/dev/loop0 bs=100M count=8; echo $?
8+0 records in
7+0 records out <=========== FIXED, was 7+1
805220352 bytes (767.9MB) copied, 0.464010 seconds, 1.6GB/s
1
function old new delta
write_and_stats 97 99 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 11:04:09 +01:00
Denys Vlasenko
5afd63a631
dd: exit with 1 if last write was incomplete
...
$ busybox dd if=/dev/zero of=/dev/loop0 bs=100M count=8; echo $?
8+0 records in
7+1 records out
805220352 bytes (767.9MB) copied, 0.464010 seconds, 1.6GB/s
1 <=========== FIXED
function old new delta
write_and_stats 96 97 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-10 10:58:55 +01:00
Denys Vlasenko
d1df1a709f
ash: add comment explaining last change
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-09 17:25:58 +01:00
Denys Vlasenko
740058b42b
ash: fix var_bash5.tests - ${VAR/pattern/repl} construct
...
function old new delta
subevalvar 1198 1279 +81
rmescapes 308 330 +22
preglob 8 10 +2
parsefname 152 154 +2
expandarg 973 975 +2
argstr 1144 1146 +2
mklocal 290 288 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/1 up/down: 111/-2) Total: 109 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-09 17:07:06 +01:00
Shawn Landden
4261341281
umount: ignore -c
...
"-c, --no-canonicalize: Do not canonicalize paths."
As busybox doesn't canonicalize paths in the first place it is safe to ignore
this option.
See https://github.com/systemd/systemd/issues/7786
Signed-off-by: Shawn Landden <slandden@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 13:31:58 +01:00
Denys Vlasenko
2f55404bbc
mknod: better --help, much clearer code
...
function old new delta
packed_usage 32066 32091 +25
mknod_main 173 174 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 11:22:37 +01:00
Denys Vlasenko
83c99ab446
less: code shrink
...
function old new delta
less_main 2471 2464 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:27:23 +01:00
Denys Vlasenko
562f63e9a4
dhcprelay: code shrink
...
function old new delta
dhcprelay_main 961 958 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:14:17 +01:00
Denys Vlasenko
c9807d787d
nice: code shrink
...
function old new delta
nice_main 157 152 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:13:11 +01:00
Denys Vlasenko
cb9c3894e5
*: make "argc UNUSED_PARAM" consistent
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 09:43:51 +01:00
Denys Vlasenko
844a6c5abd
awk: code shrink
...
function old new delta
awk_main 955 948 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 14:39:34 +01:00
Ingo van Lil
9c8e94bc0a
ash: fail if 'shift' operand is out of range
...
If the numeric argument passed to ash's 'shift' built-in is greater than
'$#' the command performs no operation and exits successfully. It should
return a non-zero exit code instead:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#shift
This is consistent with bash and hush.
function old new delta
shiftcmd 122 120 -2
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 14:22:38 +01:00
Denys Vlasenko
6f4a785bd1
awk: fix 'delete array[var--]' decrementing var twice
...
function old new delta
evaluate 3395 3390 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-07 01:19:08 +01:00
Denys Vlasenko
7367a949a6
libbb: compile obscure() only if FEATURE_PASSWD_WEAK_CHECK=y
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 15:21:25 +01:00
Yann E. MORIN
a47375de8c
build system: add rule to install without cloberring existing utilities
...
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:43:46 +01:00
Yann E. MORIN
952d5a6024
applets/install: accept more than one install option
...
Currently, it is impossible to pass more than one option to the isntall
script, so it totally prevents using --noclobber.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:43:46 +01:00
Yann E. MORIN
84be5ce0d8
applets/install: respect noclobber for script wrappers too
...
Simplify the handling of --noclobber so that it applies to all types of
installation types, even to script wrappers.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 14:36:17 +01:00
Denys Vlasenko
a034cab095
tc: enables this applet
...
function old new delta
tc_main - 946 +946
cbq_print_opt - 517 +517
print_qdisc - 475 +475
print_class - 359 +359
llproto_names - 264 +264
packed_usage 31853 32066 +213
ll_proto_a2n - 112 +112
llproto_ids - 86 +86
print_tc_classid - 82 +82
static.objects - 20 +20
static._q_ - 16 +16
applet_main 1564 1568 +4
print_filter - 3 +3
applet_names 2708 2711 +3
------------------------------------------------------------------------------
(add/remove: 13/0 grow/shrink: 3/0 up/down: 3100/0) Total: 3100 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-04 10:27:51 +01:00
Denys Vlasenko
d75f9081d4
Start 1.29.0 development cycle
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-02 06:11:19 +01:00
Denys Vlasenko
c0fab1ba49
Bump version to 1.28.0
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-02 06:07:28 +01:00
Denys Vlasenko
9c9a742e80
scripts/randomtest: do not try building static libbysubox
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-12-31 20:31:05 +01:00
Denys Vlasenko
b013bec31b
chown: fix a mistake in opt_complementary change
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-12-31 17:59:16 +01:00
Denys Vlasenko
82d1c1f84a
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-12-31 17:30:02 +01:00
Denys Vlasenko
36acc4631c
ntpd: do run the script at leat once in 11 minutes
...
function old new delta
ntpd_main 1197 1226 +29
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-12-26 20:19:37 +01:00
Ron Yorston
8d8ee910f0
env: -u option fails due to typo
...
The -u option is supposed to be allowed to appear multiple times; the
option string supplied to getopt32long requires it to be followed by a
nonnegative integer.
Reported-by: Keith Maxwell <keith.maxwell@gmail.com>
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-12-25 21:36:05 +01:00
Denys Vlasenko
a07fead823
tar: code shrink
...
function old new delta
packed_usage 31863 31853 -10
tar_main 1013 1002 -11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-21) Total: -21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-13 01:56:51 +01:00
Denys Vlasenko
931cf64ae7
tar: code shrink, better help text
...
function old new delta
tar_main 994 1013 +19
packed_usage 31893 31863 -30
writeTarFile 250 207 -43
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 19/-73) Total: -54 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-13 01:40:28 +01:00
Denys Vlasenko
02e93b3a28
tar: improve help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-10 22:14:22 +01:00
Denys Vlasenko
2fee2bce6f
inetd: fix for running by non-root
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-09 16:19:42 +01:00
Denys Vlasenko
1b510900e2
unshare: -r should map root to user, not the other way around
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-09 16:06:33 +01:00
Denys Vlasenko
b5a0d9d867
unshare: -r implies -U, not -u
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-09 15:59:22 +01:00
Eugene Rudoy
978810d7ac
unzip: add missing -j to trivial usage
...
Signed-off-by: Eugene Rudoy <gene.devel@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-09 12:47:56 +01:00
Eugene Rudoy
c6f213ade4
unzip: fix content listing and filtering when -j is used
...
Original Info-ZIP's unzip uses unstripped filenames
while doing content listing and filtering, i.e.
- in content listing mode -j is ignored completely
- filtering is applied to non-stripped names, -j
takes effect first while extracting the files
997ad2c64a
strips path
components a little bit too early resulting in behavior
deviations.
Fix it by doing stripping after listing/filtering.
p.s. Info-ZIP's unzip behavior is the same as
that of tar in --strip-components=NUM mode
Signed-off-by: Eugene Rudoy <gene.devel@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-09 12:45:50 +01:00
Denys Vlasenko
0a67722140
lineedit: get terminal width before printing prompt
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-08 13:38:12 +01:00
Denys Vlasenko
c3797d40a1
lineedit: do not tab-complete any strings which have control characters
...
function old new delta
add_match 41 68 +27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-08 12:35:02 +01:00
Denys Vlasenko
a5060b8364
ash: fix nofork bug where environment is not properly passed to a command
...
function old new delta
listvars 144 252 +108
evalcommand 1500 1546 +46
showvars 142 147 +5
shellexec 242 245 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 162/0) Total: 162 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-03 14:16:25 +01:00
Denys Vlasenko
f5e8b42788
init: reduce the window when init can lose reboot/poweroff signals
...
function old new delta
init_main 695 712 +17
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-02 15:25:28 +01:00
Denys Vlasenko
9c143ce52d
ash: retain envvars with bad names in initial environment. Closes 10231
...
Reworks "ash: [VAR] Sanitise environment variable names on entry"
commit.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-11-02 12:56:24 +01:00
Denys Vlasenko
d5c1482fba
ntpd: skip over setting next DNS resolution attempt if it is not needed
...
function old new delta
ntpd_main 1177 1197 +20
resolve_peer_hostname 127 129 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-31 16:53:23 +01:00
Denys Vlasenko
f1fdda4542
Fix build failures if MAXHOSTNAMELEN or MAXPATHLEN is not defined
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-31 15:59:19 +01:00