summaryrefslogtreecommitdiff
path: root/shell
AgeCommit message (Collapse)Author
2001-07-02Patch from vodz to fix freeing a static in cmdedit.Eric Andersen
2001-06-29This is a busybox port of the Minix shell. It is reasonably capable,Eric Andersen
handles all the basic stuff (for, case/esac, while, if/then/else), and is very small (adds just 38k on x86). It is not as rigorously correct about Bourne semantics as bash, but for most things it is quite workable. There is still some work to be done to further shrink it (it has its own globbing functions instead of using the libc ones, for example), but it is quite usable as is. -Erik
2001-06-28Remove vodz from credits, per his requestEric Andersen
2001-06-28Scrub up the licensing blockEric Andersen
-Erik
2001-06-28This a an ash applet I put together. It is similar to the one putEric Andersen
together by vodz, but uses newer sources, has the removed features commented out instead of simply deleted (so they could be re-enabled) and the builtins all work. This adds 72k. -Erik
2001-06-28Remove unneeded stuff.Eric Andersen
2001-06-28More thrashing about trying to make hush behave itself wrt jobEric Andersen
control...
2001-06-27don't whine if all we need to do is remove a bg jobEric Andersen
2001-06-27Re-enable globbing (I'd accidentaly removed it) and finish off the lastEric Andersen
of the job control polishing. Works fine now. -Erik
2001-06-26Explicitly call setsid()Eric Andersen
2001-06-26Don't choke if /etc/profile is not availableEric Andersen
2001-06-26Vladimir's last_patch_15Glenn L McGrath
2001-06-25Fix the code for establishing a controlling terminal.Eric Andersen
-Erik
2001-06-25This should finish off the job control issues with lash. Make certainEric Andersen
we have a controlling terminal... -Erik
2001-06-22Some more cleanups. Of special importance, never free a pipeEric Andersen
that still has running jobs. Instead, we ignore it and expect it to be cleaned by the background job stuff. -Erik
2001-06-22Some cleanups for hush. Saves about 350bytes.Eric Andersen
-Erik
2001-06-21This commit guts lash, restoring it to what it was originally intended to do,Eric Andersen
just be a simple command line interpreter with basic pipe, redirect, and job control. For all the more fancy things, people should use hush or ash. -Erik
2001-06-07Another hush update from Larry:Eric Andersen
Fixes the interaction between if/then/else/fi syntax and variables. I planned to do it right from the beginning, but my implementation was buggy. Also adds the relevant test cases. Also adds some old Matt Kraai variable test cases that got left out somehow.
2001-06-06A patch from Larry to fix pathological things like '>""'Eric Andersen
2001-06-05Don't close file descriptors when we are duplicating them.Matt Kraai
2001-05-31Cope gracefully when people type something, then hit ^C.Eric Andersen
-Erik
2001-05-31Patch from Vladimir to fix up autocompletion on a files/dirs with spaces inEric Andersen
them in the presence of a quoting. Also revert my signal handling patch, which seems to not solve the problem I thought it solved.
2001-05-24Plug another memory leakEric Andersen
2001-05-23Plug another memory leak in hush. This one showed up when backtickedEric Andersen
commands were run. This one was sure a bugger to find. -Erik
2001-05-23Fix a massive memory leak in the run_list_test() function.Eric Andersen
Rename run_list_test() as free_pipe_list(). Rename run_pipe_test() as free_pipe(). -Erik
2001-05-23Patch from larry to fix some grammar errors.Eric Andersen
2001-05-23Commit a patch by Larry Doolittle which fixes recursive calls to file_peek,Matt Kraai
and improves some debugging messages.
2001-05-22Excellent. This patch from Larry fixes the behavior of hushEric Andersen
when builtins are included in pipes.
2001-05-22Fix this case. No, really this time.Eric Andersen
unset FOO export FOO=bar FOO=baz echo "global env: " `env | grep ^FOO` echo "local env: " `set | grep ^FOO` -Erik
2001-05-22Fix a race. Sometimes by the time we got to checkjobs(), theEric Andersen
pipe struct had already been freed. Return immediately if the pipe is NULL.
2001-05-22Oops. Remove some debug noise I left in.Eric Andersen
2001-05-22Updates from both Vladimir and LarryEric Andersen
2001-05-21Patch from Lars Kellogg-Stedman <lars@larsshack.org> to fix bugEric Andersen
#1130 (i.e. When you turn on features it should always ADD features)
2001-05-21The latest patch from LarryEric Andersen
2001-05-19This is a patch from Vladimir:Eric Andersen
> I rewrite *local_variable* function in hush.c with: > 1) remove many memory leaks > 2) add support read_only protect (require write builtin function for set this, > I write this special for variable HUSH_VERION=0.01) > 3) commad read set only local variable now > 4) remove many error messages if "set unset export" not defined variable > (bash syntax not put and set error code). Hmm, if I set result to -1, you hush > called waitpid and returned with error "no waitpid" ( i not found place this > error). > 5) destroy error in new version check xgetcwd()==NULL and set "(unknow)" - > this have error: crashe in next call `pwd`, but xgetcwd(not null) called > free(arg). > 6) next add integraion with libbb Valdimir's patch missed two cases of local variable handling FOO=bar export FOO=baz unset FOO and export FOO=bar FOO=baz which were working before, so I fixed those two cases.
2001-05-17It turns out job control in both hush and lash was broken by theEric Andersen
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-16Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.cMatt Kraai
by Larry Doolittle.
2001-05-16Move init of a bunch of globals into main so we are at leastEric Andersen
a bit more reentrant. -Erik
2001-05-15Fix the behavior of local shell variables to match that of bash and ash.Eric Andersen
-Erik
2001-05-15Oops. I left in some debug noise.Eric Andersen
2001-05-15Write set_local_var() and fixup lookup_param() so you can now useEric Andersen
shell local variables. -Erik
2001-05-15This patch covers one big part of variable handling.Eric Andersen
$ 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-11Fix up some silly warningsEric Andersen
2001-05-11Fix a segfault in lash, hush, and cmdedit. Each of these usedEric Andersen
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-11Use xgetcwdEric Andersen
2001-05-08A few more structural updates for job control.Eric Andersen
-Erik
2001-05-08Fix a stupid segfault caused by dereferencing a NULL ptr.Eric Andersen
-Erik
2001-05-07This patch from Evin Robertson <nitfol@my-deja.com> fixes export so it works.Eric Andersen
This way leaks memory, but oh well. We will probably fix that when we get around to doing local variables.
2001-05-07More hush updates from Larry:Eric Andersen
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-04Larry's variant on Evin Robertson's fix to what I messed upEric Andersen
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