6379bb4fde
implement most POSIX parameter expansions (~+500bytes)
2009-03-28 18:55:03 +00:00
42ab86520e
make sure we exit based on test failure rather than always exiting with 0
2009-03-28 15:43:47 +00:00
25a6ca0dd4
split up feature todo by posix/bash
2009-03-28 13:59:26 +00:00
ad88d5a4cf
unify set
handling with command line processing, fixup set
argv processing so it doesnt clobber argv when setting options, and barf on unhandled set options
2009-03-28 13:44:51 +00:00
19a7ea126a
handle the "-s" command line option that POSIX requires
2009-03-28 13:02:11 +00:00
a71cfa8aa1
rename "-f" (fake) option to "-n" to match POSIX
2009-03-28 12:57:54 +00:00
d006edb2ca
tweak format modifier in debug code to fixup gcc warning
2009-03-28 12:43:53 +00:00
ec2c655702
convert some of the ENABLE_FEATURE_EDITING from CPP if to C if
2009-03-28 12:24:44 +00:00
39456a18a1
stop lying about [[ test support
2009-03-28 12:21:57 +00:00
781b672b37
mkfs.vfat: fix a problem with over-estimating FAT size
2009-03-28 12:17:20 +00:00
70a2c8d531
make lash deprecation more prominent
2009-03-28 12:12:58 +00:00
f54dd09171
mkfs.vfat: mkdosfs compat with choosing clyster size
2009-03-28 03:22:08 +00:00
14ee4e65f1
mkfs.vfat: more of pointless tweaking
2009-03-28 02:28:58 +00:00
020f465cbd
mkfs.vfat: small tweak to comments
2009-03-28 02:18:49 +00:00
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
4d3a812b71
ls: warning fix
...
rm: accept and ignore -v (verbose)
2009-03-27 17:22:00 +00:00
3603cd2808
tail: fix tail +N syntax not working. Closes bug 221.
2009-03-27 02:36:02 +00:00
bfc0fae952
enable most job functions on no-mmu systems
2009-03-26 18:14:16 +00:00
f9beb61a81
tftp: when we infer local name from remote (-r [/]path/path/file),
...
strip path. This mimics wget and is generally more intuitive.
2009-03-25 03:55:53 +00:00
b2705e1652
do not make startup banner depend on job support
2009-03-23 08:44:02 +00:00
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
ddbee974b4
move parse_stream out of ENABLE_HUSH_TICK to avoid implicit decl/build error
2009-03-22 22:48:41 +00:00
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
3fd1046300
timeout: fix parsing of -t NUM on MMU
2009-03-22 14:49:00 +00:00
424f79b48f
hush: rearrange functions to reduce amount of forward references.
...
Minimal code changes.
2009-03-22 14:23:34 +00:00
e1300f6fc7
hush: fix segv at repeated "set -- a b c" + "shift"
2009-03-22 11:41:18 +00:00
786ce17d6d
hush: fix strcpy of potentially overlapping strings
2009-03-21 21:51:11 +00:00
ccff0b962c
msh testsuite: fix false positive, tweak run stript
2009-03-21 19:58:58 +00:00
3a014b85dc
ls: make readlink error to not disrupt output (try ls -l /proc/self/fd).
...
libbb: make xmalloc_readlink_or_warn warning more specific.
function old new delta
xmalloc_readlink_or_warn 33 61 +28
showfiles 1495 1460 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 28/-35) Total: -7 bytes
2009-03-21 19:11:23 +00:00
05af832097
cpio: more compat: -0 and -L options
...
function old new delta
cpio_main 1417 1473 +56
2009-03-20 23:01:48 +00:00
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
0b28103cc7
cd: "support" -v by ignoring it
2009-03-20 14:04:00 +00:00
feecc7b74e
hush: tweak testsuite
2009-03-20 12:12:33 +00:00
a8b6dff97f
hush: fix bug 207 and "hush -c" parameter passing.
...
Now hush -c 'printf "%s\n" "$@"' (prints "\n")
and hush -c 'printf "%s\n" "$@"' qwe asd (prints "asd\n")
both work correctly
2009-03-20 12:05:14 +00:00
5368ad53e9
ash: expand comment
2009-03-20 10:20:08 +00:00
11fb7cf5af
hush: fix set [--] params. Closes bug 199.
...
function old new delta
builtin_set 55 194 +139
add_strings_to_strings - 130 +130
add_string_to_strings 110 26 -84
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 269/-84) Total: 185 bytes
2009-03-20 10:13:08 +00:00
1bb3d7e450
ash: add missing comma in debug scaffolding
2009-03-20 07:45:36 +00:00
b9e70ddf2d
ash: fix a case where we close wrong descriptor; add debug hack for that
2009-03-20 01:24:08 +00:00
f173395c4a
ash: DEBUG should be 0 :)
2009-03-19 23:21:55 +00:00
b21f379639
ash: fix TRACE commands
2009-03-19 23:09:58 +00:00
653d8e79b2
ash: make evaltree save/restore int suppression depth.
...
Hopefully this fixes bug 189. Not confirmed by users yet.
function old new delta
evaltree 809 842 +33
evalvar 1374 1376 +2
2009-03-19 21:59:35 +00:00
731de5ce76
doc update
2009-03-19 13:42:05 +00:00
4b875708c1
ash: in dotrap(), do not clear gotsig[] for SIGINT if there is no handler
...
for it, otherwise raise interrupt gets confused later.
The rest are readability fixes.
function old new delta
evaltreenr 817 818 +1
evaltree 817 818 +1
evalstring 88 89 +1
cmdloop 420 419 -1
evalskip 4 1 -3
breakcmd 84 81 -3
ash_main 1382 1379 -3
evalloop 183 177 -6
evalfor 231 225 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 3/-22) Total: -19 bytes
2009-03-19 13:30:04 +00:00
0354aba9a1
df: fix FEATURE_DF_FANCY=off, FEATURE_HUMAN_READABLE=on case.
2009-03-19 03:56:20 +00:00
7f88e34e1a
ash: tentatively fix bug 189.
2009-03-19 03:36:18 +00:00
5981ba5843
init: test for vt terminal with VT_OPENQRY,
...
assume that anything else is TERM=vt102, not TERM=linux.
(Serial console test is less correct)
Tentatively closes bug 195.
function old new delta
init_main 946 919 -27
2009-03-19 02:35:44 +00:00
5c2b81470d
ash: fix "ash -c 'exec 1>&0'" complaining that fd 0 is busy
2009-03-19 01:59:59 +00:00
c1969f69b1
ls: make color-related code more readable. Fix a case when
...
it was working non-deterministically.
function old new delta
bold - 34 +34
showfiles 1508 1495 -13
fgcolor 50 34 -16
bgcolor 34 - -34
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 34/-63) Total: -29 bytes
2009-03-18 22:39:34 +00:00
cbb4e61dd5
httpd: add comment explaining why SERVER_NAME etc is not set.
2009-03-18 20:00:46 +00:00
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