bfae2529b8
It turns out job control in both hush and lash was broken by the
...
signal handling in cmdedit.c. Disabling it makes the shells behave
themselves again. hush isn't quite there, but is getting close...
-Erik
2001-05-17 00:14:27 +00:00
59df6f7398
Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.c
...
by Larry Doolittle.
2001-05-16 14:21:09 +00:00
bc604a2f41
Move init of a bunch of globals into main so we are at least
...
a bit more reentrant.
-Erik
2001-05-16 05:24:03 +00:00
f72f562b2f
Fix the behavior of local shell variables to match that of bash and ash.
...
-Erik
2001-05-15 23:21:41 +00:00
15649c11f3
Oops. I left in some debug noise.
2001-05-15 17:28:26 +00:00
20a69a77d2
Write set_local_var() and fixup lookup_param() so you can now use
...
shell local variables.
-Erik
2001-05-15 17:24:44 +00:00
78a7c99f7f
This patch covers one big part of variable handling.
...
$ a=b foo
should be handled correctly.
$ a=b
is parsed OK, but the actual variable setting is not
yet written. Except for some weird exceptions related
to quoting rules, this code passes (matches ash behavior)
all the tests I threw at it.
If someone now writes set_local_var(), and updates lookup_param()
to match, we can claim success!
- Larry
2001-05-15 16:30:25 +00:00
cfa88ecb72
Fix up some silly warnings
2001-05-11 18:08:16 +00:00
5f265b755a
Fix a segfault in lash, hush, and cmdedit. Each of these used
...
xgetcwd, but did not check the return for a NULL, and then continued
to call strlen on the NULL when the cwd had been removed from under it.
-Erik
2001-05-11 16:58:46 +00:00
9d94deabd3
Use xgetcwd
2001-05-11 16:36:03 +00:00
1a6d39b259
A few more structural updates for job control.
...
-Erik
2001-05-08 05:11:54 +00:00
0a36de0580
Fix a stupid segfault caused by dereferencing a NULL ptr.
...
-Erik
2001-05-08 04:25:46 +00:00
45e92ba2ce
This patch from Evin Robertson <nitfol@my-deja.com> fixes export so it works.
...
This way leaks memory, but oh well. We will probably fix that when we get
around to doing local variables.
2001-05-07 23:53:09 +00:00
83a2ae2184
More hush updates from Larry:
...
Update some comments. Generate partial placeholders for the missing
builtins. Write builtin_umask. Properly treat exec without arguments
as a means to open/close files within the running script. Implement
"4<&-" that encodes for file descriptor closure.
2001-05-07 17:59:25 +00:00
2dcfba7117
Larry's variant on Evin Robertson's fix to what I messed up
...
trying to make job control work. This fix makes it so that
hush doesn't error out when init hasn't set up job control,
as in when init=/bin/sh
2001-05-04 22:13:37 +00:00
d24f878546
Don't reset parents context when we encounter an terminator. Fixes
...
if true; then if true; then true; fi; fi
2001-05-04 21:20:20 +00:00
e5ffb911e8
If it fails to run a builtin, let it fall through to
...
exec the real thing.
-Erik
2001-05-04 16:30:29 +00:00
80abc45182
Move up waitpid error check so that errno isn't clobbered by tcsetpgrp.
2001-05-02 21:48:17 +00:00
0fcd447d59
Some more job control updates. It will now sucessfully background
...
stuff. Good luck getting things back into the foreground though...
-Erik
2001-05-02 20:12:03 +00:00
20a3069ec0
Don't treat newline as pipe separator when processing substitutions.
2001-05-02 17:52:49 +00:00
9f8caf134f
Fix $(...) construction. Noted and patched by Larry Doolittle
...
<ldoolitt@recycle.lbl.gov >. I'm just a patch whore. :)
2001-05-02 16:26:12 +00:00
bafd94f154
First pass at getting job control working. This gets the infrastructure
...
in place, but something is still missing/wrong in there. Testing with
'grep foo &' seems to put _hush_ into the background. Pondering...
-Erik
2001-05-02 16:11:59 +00:00
1c8a59ab95
Use the current pgrp, not pid, when resetting the foreground process group.
...
Fixes bizarre suspension when executing `echo`.
2001-05-02 15:37:09 +00:00
f162e7d09d
Don't segfault if the first word is the empty string.
2001-05-02 14:48:48 +00:00
e67c3ce327
Another update from Larry:
...
Makes hush return code equal to that of the last command executed.
Fixes the mode where input comes from a file.
2001-05-02 02:09:36 +00:00
4ed5e37d4b
Another hush update from Larry:
...
Minor improvements. Something is still broken with running
scripts via "hush filename". All the following are now handled
acceptably (matches ash, not bash).
if true; then echo foo1; fi
if
true; then echo foo2; fi
if true; false; then echo bar; else echo foo3; fi
if true || false; then echo foo4; fi
- Larry
2001-05-01 01:49:50 +00:00
aac75e5a78
Some more hush.c updates from Larry Doolittle.
2001-04-30 18:18:45 +00:00
088875fec4
Use BUFSIZ for the_command to match size used in cmdedit
2001-04-27 07:49:41 +00:00
af44a0e8f4
An update to hush from Larry:
...
It should recover more smoothly from syntax errors, and it now
has a decent guess when the reserved word construct is over
(or not) to control execution and prompting. I took out all the
redundant standalone test copies of libbb routines, but left in a
hook so I can include those for my testing. I'll post that include
file on my web site.
- Larry
2001-04-27 07:26:12 +00:00
25f2703015
This is the initial checkin of Larry Doolittle's hush.c, using his
...
April 25, 2001 snapshot, adjusted a bit by me so it has cmdedit support.
This checkin also removes sh.c. In the future sh.c will be a symlink to
your shell of choice. For now, this symlink will default to pointing to
lash.c (as in the past). If you change the symlink to point to hush.c,
then thats what you will get. This symlink business is a temporary situation,
which will be cleaned up Real Soon Now(tm).
-Erik
2001-04-26 23:22:31 +00:00
4b541a8817
Moved some #ifdefs down below #include "busybox.h" where they belong.
2001-04-25 17:10:30 +00:00
ed424dbf1d
Some patches from Gennady Feldman. Fixed a glob problem such that
...
'ls *.h Config.h' works. Fixed a silly typo with fg/bg process control.
Made cmdedit exit sanely when it cannot read input.
2001-04-23 15:28:28 +00:00
4ef40c02f4
Another banner consolidation from Larry Doolittle <ldoolitt@recycle.lbl.gov>.
2001-04-12 20:44:21 +00:00
be66ad3212
Fix handling of '' and "".
2001-04-12 15:42:17 +00:00
e5dfced23a
Apply Vladimir's latest cleanup patch.
...
-Erik
2001-04-09 22:48:12 +00:00
c270ec1fa2
Add support of /W prompts
...
-Erik
2001-04-05 23:00:47 +00:00
2129f97cd9
Avoid segfault when export is invoked with no arguments. Thanks to
...
Gennady Feldman.
2001-04-04 17:50:04 +00:00
84e229cfbe
Add in a new standalone env applet for fixing up app's environments
...
-Erik
2001-03-29 22:48:33 +00:00
a82a00397f
Fix to last patch: locale code should be 9, not 7.
2001-03-27 17:07:15 +00:00
1c6581a865
Applied patch from Vladimir N. Oleynik to add locale support to the shell per
...
bug report from Ralph Jones.
2001-03-27 16:35:16 +00:00
82ab8da245
-Wshadow sh fix from Jeff Garzik
2001-03-23 17:06:01 +00:00
1ca20a7747
A nice patch from Larry Doolittle that adds -Wshadow and
...
cleans up most of the now-revealed problems.
2001-03-21 07:34:27 +00:00
92d23245c9
Another cleanup patch from Jeff Garzik <jgarzik@mandrakesoft.com>
2001-03-19 23:49:41 +00:00
61173a5371
Fix to cmdedit.c from Vladimir
2001-03-19 17:48:55 +00:00
341744781a
Patch from Larry and Vladimir to clean up sh.c and fix
...
shell expansion to work in non POSIX locales.
2001-03-17 00:20:10 +00:00
4aaefc2a50
Fix from Larry for glob problems.
...
-Erik
2001-03-15 23:01:19 +00:00
f9ff8a7d90
cmdedit.c bugfix patch from Vladimir.
...
-Erik
2001-03-15 20:51:09 +00:00
730cdb1904
Reversed previous patch. The right way is to fix uClibc.
2001-03-15 19:39:40 +00:00
0b57e28373
Applied patch from Andreas Neuhaus to fix namespace conflict that made busybox
...
not compile with uClibc.
2001-03-15 19:12:06 +00:00
1ef92685cf
Yesterday I make strsep_space include post-token whitespace,
...
so we should not be adding another " " between tokens.
-Erik
2001-03-14 19:33:45 +00:00