Robert Griebl
350d26bbbb
- the number of commands in the history list is now configureable via the
...
config system
- added a new config option to allow persistant history lists. This is
currently only used by ash, but the calls ({load,save}_history) could
be added to the other shells as well.
2002-12-03 22:45:46 +00:00
Aaron Lehmann
a170e1c858
Change if(x)free(x); to free(x);
2002-11-28 11:27:31 +00:00
Glenn L McGrath
062c74f710
last_patch_68 from Vladimir N. Oleynik
2002-11-27 09:29:49 +00:00
Eric Andersen
7ab93d9980
Teach lash to get $1 $2 $3 etc correct
...
-Erik
2002-11-08 09:40:02 +00:00
Eric Andersen
09da627a23
Fix warning
2002-10-22 22:15:33 +00:00
Eric Andersen
1887b0478f
Apply last_patch51_3 from vodz
2002-10-22 11:58:59 +00:00
Eric Andersen
ad082987d0
Use %m, not strerror, and strerror(err) was broken anyways and should have been
...
strerror(errno). Problem noted by Alexey V. Neyman <alex.neyman@auriga.ru>
2002-09-30 20:20:20 +00:00
Eric Andersen
aa1d6ccbfb
Don't even try to run ash on uClinux. It won't work.
...
-Erik
2002-09-30 20:12:32 +00:00
Eric Andersen
6f2ebcaa01
Avoid calling exit() from within fork/vfork'ed processes.
...
-Erik
2002-09-26 13:59:40 +00:00
Eric Andersen
bf8bf105fb
Patch from "Joe.C" <joe@numa.com.tw>
2002-09-17 08:41:08 +00:00
Eric Andersen
2bec97c076
Some CML1 grammar fixes
...
-Erik
2002-09-01 06:45:55 +00:00
Glenn L McGrath
50812fff21
Apply vodz last_path_51-2
2002-08-23 13:14:48 +00:00
Glenn L McGrath
9fef17dec3
Run through indent, fix comments
2002-08-22 18:41:20 +00:00
Aaron Lehmann
49c024addd
Remove ckfree, and replace all references with free. Remove freefunc,
...
which is also equivilent to free. Remove some if(x)free(x)
redundancies.
2002-08-02 06:39:47 +00:00
Eric Andersen
7373e485d3
A couple of small bugfixes from Marshall M. Midden <m4@brecis.com>
2002-07-31 04:04:47 +00:00
Robert Griebl
b230159958
Fixed a timing bug which occured when bb ash is run in a rxvt on the
...
HP iPAQ. Sometimes we get a SIGWINCH and want to print the prompt, although
the prompt is not yet initialised (0) .. so just don't print a prompt
as long as the prompt string is 0
2002-07-30 23:13:51 +00:00
Robert Griebl
d378c3149c
Applied vodz' patches #49 and #50 (with a small correction in runshell.c)
...
#49 : I found one memory overflow and memory leak in "ln" applet.
Last patch reduced also 54 bytes. ;)
#50 : I found bug in loginutils/Makefile.in.
New patch have also new function to libbb and
aplied this to applets and other cosmetic changes.
2002-07-19 00:05:54 +00:00
Eric Andersen
2276d83639
Fixup warnings and undefined operations that show up in gcc-3.1
...
-Erik
2002-07-11 11:11:56 +00:00
Eric Andersen
8e139871fe
Patch from Stewart Brodie <stewart.brodie@pace.co.uk> to fix ash:
...
When alias support is not configured, ash believes that command parameters
that look like dd's "if=/dev/zero" are requests to set a temporary
environment variable whilst dd is running, even though it appears after the
command name. This is caused by the re-use of the checkalias global variable
to indicate when both alias checking and environment variable checking. The
failure to reset this flag is due to the reset action being performed only
inside the feature check CHECK_ASH_ALIAS. Hence ash works as expected when
aliases are configured in, and fails when not.
Example script using 'date' with different settings of TZ:
# TZ=Europe/London
# export TZ
# date
Thu May 30 17:18:49 BST 2002
# TZ=America/New_York date
Thu May 30 12:19:10 EDT 2002
# date
Thu May 30 17:19:12 BST 2002
# date TZ=America/New_York
Thu May 30 12:19:30 EDT 2002 <----- wrong, should be BST time (or error!)
# date
Thu May 30 17:19:35 BST 2002
Attached is a patch against revision 1.52 of ash.c which moves the checks so
that checkalias is updated regardless of whether CONFIG_ASH_ALIAS is set.
With this patch applied, the command shown above which should generate an
error does generate an error.
I have tested this patch with the 'dd' command too and that now works
correctly.
2002-07-04 00:19:46 +00:00
Eric Andersen
887ca79f04
Scrub pwd.h and grp.h handling so we don't have to play any
...
silly games.
-Erik
2002-07-03 23:19:26 +00:00
Eric Andersen
0d2d1eb599
Fix a buffer overflow found by Gerardo Puga <gpuga@gioia.ing.unlp.edu.ar>
...
-Erik
2002-06-06 13:33:01 +00:00
Eric Andersen
1a92376f00
Patch from vodz to only setenv PATH when PATH changes, which is much
...
smarter than my quick fix.
2002-06-06 12:07:28 +00:00
Robert Griebl
ea1a63a201
Fix for broken handling off BusyBox's own pwd/grp implementations
...
[Parts of this patch may overlap with my other two patches]
2002-06-04 20:10:23 +00:00
Robert Griebl
64f70cc755
Add --login support. This is the bash way of starting a shell that should
...
parse the profile files.
2002-05-14 23:22:06 +00:00
Eric Andersen
1c31501b1b
Ensure that getenv("PATH") stays current, since otherwise cmdedit
...
(which calls getenv("PATH")) would not operate upon the current
PATH settings, which was really quite iritating.
-Erik
2002-04-26 23:40:09 +00:00
Eric Andersen
54c14d7850
vodz noted this line (as imported from Debian) is wrong, and has since
...
been fixed upstream.
2002-04-24 23:14:06 +00:00
Eric Andersen
ae1036185e
Apply last_patch37 from vodz
2002-04-24 23:08:23 +00:00
Eric Andersen
65a0730c9f
Patch from Jim Treadway and Vladimir Oleynik to Add CTRL-K
...
and fix CTRL-L support for cmdedit.c
2002-04-13 13:26:49 +00:00
Eric Andersen
4c9b68f0e0
Nice patch from Wolfgang Denk <wd@denx.de> to provide hush with
...
shell loops (for, while, until) and control operators (||, &&)
2002-04-13 12:33:41 +00:00
Tim Riker
497a88506e
make ash prompt the same as other shells if cmdedit and fancyprompt
2002-04-13 05:37:10 +00:00
Eric Andersen
85208e2ab9
Completely rework the config system so that it no longer annoys me to work on
...
the busybox development tree. This eliminates the use of recursive make, and
once again allows us to run 'make' in a subdirectory with the expected result.
And things are now much faster too. Greatly improved IMHO...
-Erik
2002-04-12 12:05:57 +00:00
Eric Andersen
889a301a0c
Patch from vodz to fix a potential segfault
2002-03-20 14:31:15 +00:00
Eric Andersen
d35c5df08c
Make private ash config options be public
2002-01-09 15:37:36 +00:00
Aaron Lehmann
438803311b
ash patch: errname-diff
2001-12-31 06:16:54 +00:00
Aaron Lehmann
9a218bf979
ash patch: initvar-diff
2001-12-31 06:13:38 +00:00
Aaron Lehmann
1a6986699f
ash patch: forkshell-diff
2001-12-31 06:12:48 +00:00
Aaron Lehmann
eec2bbb9bf
ash patch: fgcmd-diff
2001-12-31 06:07:57 +00:00
Aaron Lehmann
2aef3a6bb9
ash patch: breakcmd-diff
2001-12-31 06:03:12 +00:00
Aaron Lehmann
95877b6756
ash patch: addfname-diff
2001-12-31 06:00:57 +00:00
Eric Andersen
ceef50b280
Patch from vodz to fix broken function prototype
2001-12-21 11:22:26 +00:00
Eric Andersen
f1f2bd0b0a
Patch from vodz to implement ^L (clear screen)
2001-12-21 11:20:15 +00:00
Matt Kraai
1f0c43668a
Remove == TRUE' tests and convert
!= TRUE' and `== FALSE' tests to use !.
2001-12-20 23:13:26 +00:00
Eric Andersen
2423b12dae
Begin moving things to busybox.net
...
-Erik
2001-12-08 01:56:15 +00:00
Aaron Lehmann
b6ecbdc07d
The ash ansification diff!
...
Please tell me if you notice any problems resulting from this.
2001-12-06 03:37:38 +00:00
Matt Kraai
c8227639db
Change strdup calls to xstrdup (patch from Steve Merrifield).
2001-11-12 16:57:27 +00:00
Matt Kraai
a5f09c668e
Use fopen wrapper.
2001-11-12 16:44:55 +00:00
Eric Andersen
45784febaf
Some more minor build cleanups
2001-11-10 13:08:02 +00:00
Eric Andersen
282671bf76
Cleanup some config problems. Add a sane default config that basically
...
matches the default old Config.h
2001-11-10 12:07:24 +00:00
Eric Andersen
ec07469a3e
Patch from Aaron Lehmann <aaronl@vitelus.com>;
...
This diff does 2 things:
1) removes an unnecessary function. saves 64 bytes on i386
2) allows you to disable checking of mail (actually, it's now disabled
by default). this would be a nice CML1 option, but for now it's a
#(define|undef) in the C file like the other internal ash options.
this saves an additional 352 bytes if you leave mail disabled.
2001-10-31 11:05:49 +00:00
Eric Andersen
eaecbf33f7
Fixup some silly prototype warnings
2001-10-31 10:41:31 +00:00
Eric Andersen
69a20f0aca
Patch from ASA <llb@udm.net.ru> to that source files
...
are properly passed their arguments.
2001-10-31 10:40:37 +00:00
Eric Andersen
72f9a4277f
Add in some (theoretical) uClinux support. Some init cleanups
2001-10-28 05:12:20 +00:00
Eric Andersen
1a10eec178
Fixup the location of pwd.h and grp.h
2001-10-24 17:19:38 +00:00
Eric Andersen
a3483db55f
Patch from vodz:
...
1) complete true: $ > /tmp/tmpfile
2) the builtin pwd now does not unwrap symlinks
3) reduce 680 bytes
2001-10-24 08:01:06 +00:00
Eric Andersen
bdfd0d78bc
Major rework of the directory structure and the entire build system.
...
-Erik
2001-10-24 05:00:29 +00:00
Eric Andersen
d63dee4019
Add an option to make the shells not advertise their busybox nature
2001-10-19 00:22:23 +00:00
Eric Andersen
f4c208937c
Remove the now unused ARITH_* defines
...
-Erik
2001-10-19 00:08:17 +00:00
Eric Andersen
74400ccfd0
Scrub up some function prototypes.
...
-Erik
2001-10-18 04:11:39 +00:00
Eric Andersen
f0a4ac8216
Patch from Magnus Damm <damm@opensource.se> to avoid lash hanging
...
on serial ports
2001-10-03 11:23:42 +00:00
Manuel Novoa III
8d0afde412
Commit my changes to xxreadtoken() to reduce code size. Also set defines
...
so that the table implementations of copynode, calcsize, and cmdtxt are
used. Hopefully this will result in wider testing. ;-) If it breaks,
just unset the appropriate defines.
2001-09-11 01:14:02 +00:00
Eric Andersen
5bb1677f1d
define IFS_BROKEN
2001-09-06 18:00:41 +00:00
Eric Andersen
88cec25e99
Patch from vodz to make ash cope with leading redirections
...
(i.e. '2>/dev/null ls rubbish') will now work.
2001-09-06 17:35:20 +00:00
Eric Andersen
5d60a46269
Fix a warning and potential segfault in lash when BB_FEATURE_CLEAN_UP
...
is enabled
2001-08-22 05:32:24 +00:00
Manuel Novoa III
c639a35f50
I stupidly forgot one level of pointer indirection in the cmdtxt(), calcsize(),
...
and copynode() table implementations. Commit the fix but keep them disabled
until others check them out. Uncomment "//#define CMDTXT_TABLE",
"//#define CALCSIZE_TABLE", and "//#define COPYNODE_TABLE" to try them out.
Saves over 600 bytes on i386.
2001-08-12 17:32:56 +00:00
Eric Andersen
dd9173c07f
Fix a merging error
2001-08-10 21:11:56 +00:00
Manuel Novoa III
16815d4b45
A few bug fixes and significant size savings. Combined effort of
...
Vladimir N. Oleynik dzo@simtreas.ru , Aaron Lehmann aaronl@vitelus.com ,
and myself.
2001-08-10 19:36:07 +00:00
Eric Andersen
80dd0863e2
Small size optimization from Aaron Lehmann
2001-08-10 18:42:04 +00:00
Eric Andersen
e20b7d844a
Fix stupid grammar error.
2001-08-10 15:22:35 +00:00
Matt Kraai
69edfecfb9
Add support for underscores in variable names.
2001-08-06 14:14:18 +00:00
Eric Andersen
95b520110d
Teach libc5 what a sighandler_t is
...
-Erik
2001-08-02 09:52:40 +00:00
Eric Andersen
ff9b4a8981
Scrub away the last leftovers from BB_FEATURE_<shell>. Good thing
...
for multibuild.pl -- I would have missed this stupid mess otherwise.
-Erik
2001-08-02 08:42:58 +00:00
Eric Andersen
3450636169
Latest patch from vodz. Adds a check for divide by zero in the posix
...
math suport, cleaner math syntax error checking, moves redundant signal
string tables (from kill and ash) into libbb and provides a few
cleanups elsewhere.
2001-08-02 05:02:46 +00:00
Matt Kraai
2d91deba45
Allow multiple shells to be enabled.
2001-08-01 17:21:35 +00:00
Eric Andersen
fa1c5aac51
Fix the let builtin (so we can close bug #1196 ) and remove the
...
nonstandard exp builtin.
-Erik
2001-07-31 21:38:23 +00:00
Eric Andersen
74bcd16425
This incorporates Posix math support into ash. The Posix math support
...
was written by Aaron Lehmann <aaronl@vitelus.com> for busybox. This
patch makes a few trivial changes to Aaron's code so that it can be
used (in theory) by the other shells as well...
-Erik
2001-07-30 21:41:37 +00:00
Russ Dill
4db35647dd
char renamed can never be negative on ARM (rp->renamed[i] != EMPTY)
2001-07-26 05:58:40 +00:00
Eric Andersen
8d79ce8320
Some patches to make dietlibc work...
2001-07-22 23:00:15 +00:00
Eric Andersen
bc4c030023
Cleanup from vodz
2001-07-17 01:14:06 +00:00
Eric Andersen
044228d5ec
This is vodz' latest patch. Sorry it took so long...
...
1) ping cleanup (compile fix from this patch already applied).
2) traceroute call not spare ntohl() now (and reduce size);
3) Fix for functions not declared static in insmod, ash, vi and mount.
4) a more simple API cmdedit :))
5) adds "stopped jobs" warning to ash on Ctrl-D and fixes "ignoreeof" option
6) reduce exporting library function index->strchr (traceroute), bzero->memset (syslogd)
2001-07-17 01:12:36 +00:00
Eric Andersen
7467c8d3b6
Patch from vodz:
...
Changed email address
cmdedit API change
optimizations for traceroute and md5sum
added a new shared create_icmp_socket() function
2001-07-12 20:26:32 +00:00
Matt Kraai
f69bfc76fa
Allow assignments in the export and readonly commands.
2001-07-12 19:39:59 +00:00
Matt Kraai
ab6526c8b3
Remove debugging statement.
2001-07-12 18:44:34 +00:00
Eric Andersen
8c145dc31b
Fix a stupid search and replace bug...
2001-07-10 16:57:09 +00:00
Eric Andersen
6248355c6f
vodz' latest update to ash.c
2001-07-10 06:09:16 +00:00
Eric Andersen
1c03923b0b
Add in a shell tagline (per lash/hush behavior) to make it easier
...
to know which shell is in use. Add in 'help' to list available
builtins, and fixup msh so it can do STANDALONE_SHELL.
-Erik
2001-07-07 00:05:55 +00:00
Eric Andersen
3102ac4b58
This is vodz' latest ash update.
2001-07-06 04:26:23 +00:00
Eric Andersen
8df319b213
A bit of testing today showed that ASH_BBAPPS_AS_BUILTINS was
...
totally breaking the shell. Simple thinge like 'FOO=100' caused
it to segfault. It turns out that disabling "bltincmd" is a very
bad idea.
-Erik
2001-07-05 05:24:12 +00:00
Eric Andersen
2870d964f8
Some updates to ash from vodz. Makes ash smaller. I made a few
...
changes, esp describing all the current ash configuration options.
Now ash adds 66k in the default configuration.
2001-07-02 17:27:21 +00:00
Eric Andersen
8f6978405d
Patch from vodz to fix freeing a static in cmdedit.
2001-07-02 15:36:57 +00:00
Eric Andersen
ff9eee475f
This is a busybox port of the Minix shell. It is reasonably capable,
...
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-29 04:57:14 +00:00
Eric Andersen
ec23c4920f
Remove vodz from credits, per his request
2001-06-28 16:43:57 +00:00
Eric Andersen
df82f611c8
Scrub up the licensing block
...
-Erik
2001-06-28 07:46:40 +00:00
Eric Andersen
cb57d551a2
This a an ash applet I put together. It is similar to the one put
...
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-28 07:25:16 +00:00
Eric Andersen
184d73636d
Remove unneeded stuff.
2001-06-28 03:22:19 +00:00
Eric Andersen
028b65b060
More thrashing about trying to make hush behave itself wrt job
...
control...
2001-06-28 01:10:11 +00:00
Eric Andersen
07abfe2092
don't whine if all we need to do is remove a bg job
2001-06-27 17:29:11 +00:00
Eric Andersen
4b6b5e4314
Re-enable globbing (I'd accidentaly removed it) and finish off the last
...
of the job control polishing. Works fine now.
-Erik
2001-06-27 04:30:11 +00:00
Eric Andersen
5c66d06104
Explicitly call setsid()
2001-06-26 23:16:31 +00:00
Eric Andersen
a90f20b1c3
Don't choke if /etc/profile is not available
2001-06-26 23:00:21 +00:00
Glenn L McGrath
78b0e379d7
Vladimir's last_patch_15
2001-06-26 02:06:08 +00:00
Eric Andersen
6c947d289f
Fix the code for establishing a controlling terminal.
...
-Erik
2001-06-25 22:24:38 +00:00
Eric Andersen
2d848a476a
This should finish off the job control issues with lash. Make certain
...
we have a controlling terminal...
-Erik
2001-06-25 17:11:54 +00:00
Eric Andersen
52a97ca00c
Some more cleanups. Of special importance, never free a pipe
...
that still has running jobs. Instead, we ignore it and expect
it to be cleaned by the background job stuff.
-Erik
2001-06-22 06:49:26 +00:00
Eric Andersen
c798b07762
Some cleanups for hush. Saves about 350bytes.
...
-Erik
2001-06-22 06:23:03 +00:00
Eric Andersen
8a646dd293
This commit guts lash, restoring it to what it was originally intended to do,
...
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-21 16:38:11 +00:00
Eric Andersen
04407e522b
Another hush update from Larry:
...
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-07 16:42:05 +00:00
Eric Andersen
817e73cb63
A patch from Larry to fix pathological things like '>""'
2001-06-06 17:56:09 +00:00
Matt Kraai
c616e53ca2
Don't close file descriptors when we are duplicating them.
2001-06-05 16:50:08 +00:00
Eric Andersen
4f6753e586
Cope gracefully when people type something, then hit ^C.
...
-Erik
2001-05-31 17:17:12 +00:00
Eric Andersen
4f990533e3
Patch from Vladimir to fix up autocompletion on a files/dirs with spaces in
...
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-31 17:15:57 +00:00
Eric Andersen
a813afc24f
Plug another memory leak
2001-05-24 16:19:36 +00:00
Eric Andersen
a15dc15f12
Plug another memory leak in hush. This one showed up when backticked
...
commands were run. This one was sure a bugger to find.
-Erik
2001-05-23 23:46:09 +00:00
Eric Andersen
bf7df04ec1
Fix a massive memory leak in the run_list_test() function.
...
Rename run_list_test() as free_pipe_list().
Rename run_pipe_test() as free_pipe().
-Erik
2001-05-23 22:18:35 +00:00
Eric Andersen
77d9268892
Patch from larry to fix some grammar errors.
2001-05-23 20:32:09 +00:00
Matt Kraai
bdd4eced84
Commit a patch by Larry Doolittle which fixes recursive calls to file_peek,
...
and improves some debugging messages.
2001-05-23 17:43:00 +00:00
Eric Andersen
57e6a49e5b
Excellent. This patch from Larry fixes the behavior of hush
...
when builtins are included in pipes.
2001-05-22 22:34:51 +00:00
Eric Andersen
9978576f15
Fix this case. No, really this time.
...
unset FOO
export FOO=bar
FOO=baz
echo "global env: " `env | grep ^FOO`
echo "local env: " `set | grep ^FOO`
-Erik
2001-05-22 21:37:48 +00:00
Eric Andersen
aeb44c4da6
Fix a race. Sometimes by the time we got to checkjobs(), the
...
pipe struct had already been freed. Return immediately if the
pipe is NULL.
2001-05-22 20:29:00 +00:00
Eric Andersen
816867858b
Oops. Remove some debug noise I left in.
2001-05-22 19:23:35 +00:00
Eric Andersen
94ac244dea
Updates from both Vladimir and Larry
2001-05-22 19:05:18 +00:00
Eric Andersen
004015e9c4
Patch from Lars Kellogg-Stedman <lars@larsshack.org> to fix bug
...
#1130 (i.e. When you turn on features it should always ADD features)
2001-05-21 20:30:51 +00:00
Eric Andersen
ada18ff0f5
The latest patch from Larry
2001-05-21 16:18:22 +00:00
Eric Andersen
9ffb7dd9a4
This is a patch from Vladimir:
...
> 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-19 03:00:46 +00:00
Eric Andersen
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
Matt Kraai
59df6f7398
Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.c
...
by Larry Doolittle.
2001-05-16 14:21:09 +00:00
Eric Andersen
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
Eric Andersen
f72f562b2f
Fix the behavior of local shell variables to match that of bash and ash.
...
-Erik
2001-05-15 23:21:41 +00:00
Eric Andersen
15649c11f3
Oops. I left in some debug noise.
2001-05-15 17:28:26 +00:00
Eric Andersen
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
Eric Andersen
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
Eric Andersen
cfa88ecb72
Fix up some silly warnings
2001-05-11 18:08:16 +00:00
Eric Andersen
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
Eric Andersen
9d94deabd3
Use xgetcwd
2001-05-11 16:36:03 +00:00
Eric Andersen
1a6d39b259
A few more structural updates for job control.
...
-Erik
2001-05-08 05:11:54 +00:00
Eric Andersen
0a36de0580
Fix a stupid segfault caused by dereferencing a NULL ptr.
...
-Erik
2001-05-08 04:25:46 +00:00
Eric Andersen
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
Eric Andersen
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
Eric Andersen
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
Matt Kraai
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
Eric Andersen
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
Matt Kraai
80abc45182
Move up waitpid error check so that errno isn't clobbered by tcsetpgrp.
2001-05-02 21:48:17 +00:00
Eric Andersen
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
Matt Kraai
20a3069ec0
Don't treat newline as pipe separator when processing substitutions.
2001-05-02 17:52:49 +00:00
Matt Kraai
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
Eric Andersen
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
Matt Kraai
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
Matt Kraai
f162e7d09d
Don't segfault if the first word is the empty string.
2001-05-02 14:48:48 +00:00
Eric Andersen
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
Eric Andersen
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
Eric Andersen
aac75e5a78
Some more hush.c updates from Larry Doolittle.
2001-04-30 18:18:45 +00:00