mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-22 14:30:29 +00:00
963a33c4bf
Add quotes around null parameters from the command line so they will be parsed properly (resolves PR#84). Output piped to an unfound command caused gsh to terminate, due to an interface change to the GNO 2.0.6 version of getpgrp(2): it now returns the process group of the caller. To get the process group number for the pid passed as a parameter pid, the call has to be made to _getpgrp(2). In addition to fixing invoke.asm, updates were also made in jobs.asm. When directory stack is full, pushd, reports a new error message: 'pushd: Directory stack full'. (Previously, 50 pushds would cause a crash.) When parameter passed to "pushd +n" is <= 0, report a new error message: 'pushd: Invalid number'. (Previously, tried to chdir to the parameter.) When a command appends to stderr (e.g., echo test >>&/tmp/err), stdin was closed, due to errappend being defined as pipefds+2 rather than pipefds+4 in cmd.asm. When there was an error reading stdin, gsh went into an infinite loop of beeping and requesting more input. Changed getchar (in stdio.asm) and GetCmdLine (in edit.asm) to report the error and terminate. Code in cmd.asm set and reset handler for signal SIGSTOP (17). This makes no sense, since there cannot be a handler for SIGSTOP. This was changed to set and reset signal SIGTSTP (18) since that handler is used by gsh. The error message "specify a command before redirecting" was never caught by the invoke() subroutine because the next higher routine, command(), checked for argv==0 before calling invoke(). The error message was moved into command(). |
||
---|---|---|
.. | ||
aroff | ||
binprint | ||
cat | ||
center | ||
chtyp | ||
cmp | ||
date | ||
df | ||
du | ||
edit | ||
gsh | ||
head | ||
kill | ||
less | ||
ls | ||
make | ||
makemake | ||
mkdir | ||
more | ||
passwd | ||
ps | ||
purge | ||
pwd | ||
rcp | ||
rmdir | ||
sleep | ||
split | ||
strings | ||
stty | ||
tail | ||
tar | ||
tee | ||
test | ||
time | ||
touch | ||
uname | ||
uniq | ||
upper | ||
vi | ||
wc | ||
yes |