1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00
cde/src/cmd/ksh93/include
Martijn Dekker be5ea8bbb2 redirect: check args before executing redirections (re: 7b82c338)
The 'redirect' builtin command did not error out before executing
any valid redirections. For example, 'redirect ls >foo.txt' issued
an "incorrect syntax" error, but still created 'foo.txt' and left
standard output permanently redirected to it.

src/cmd/ksh93/sh/xec.c: sh_exec():
- If we have redirections (io != NULL), and the command is
  SYSREDIR, then check for arguments and error out if there are
  any, before calling sh_redirect() to execute redirections.
  (Note, the other check for arguments in b_exec() in bltins/misc.c
  must be kept, as that applies if there are no redirections.)

src/cmd/ksh93/sh/io.c: sh_redirect():
- Edit comments to better explain what the flag values do.

src/cmd/ksh93/bltins/misc.c:
- Add a dummy b_redirect() function declaration "for the dictionary
  generator" as has historically been done for other builtins that
  share one C function. I'm not sure what that dictionary generator
  is supposed to be, but this also improves greppability.

src/cmd/ksh93/data/builtins.c,
src/cmd/ksh93/sh.1:
- Fix misleading "I/O redirection arguments" term. I/O redirections
  are not arguments at all; no argument parser ever sees them.

src/cmd/ksh93/tests/io.sh:
- Test both conditions that should make 'redirect' produce an
  "incorrect syntax" error.
- Test that any redirections are not executed if erroneous
  non-redirection arguments exist.

src/cmd/ksh93/tests/builtins.sh:
- "... should show usage info on unrecognized options" test:
  Because 'redirect' now refuses to process redirections on error,
  the error message was not captured. The fix is to run the builtin
  in a braces block and add the redirection to the block.
2020-08-09 00:47:22 +01:00
..
argnod.h 4 typo fixes: be use => be used 2020-07-05 07:48:01 +02:00
builtins.h Convert default typeset aliases to regular builtins 2020-07-15 20:54:06 +01:00
defs.h Add ${.sh.pid} as an alternative to $BASHPID (#109) 2020-08-07 02:53:25 +01:00
edit.h Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
env.h Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
fault.h Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
fcin.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
history.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
io.h rm "I/O error" error msg; just keep >0 exit status (re: 9011fa93) 2020-06-12 01:45:18 +02:00
jobs.h Remove unused libcoshell 2020-07-17 19:28:52 +01:00
lexstates.h Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
name.h Fix 'whence -a' to print correct path for tracked alias (#25) 2020-06-19 14:03:58 +02:00
national.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
nval.h Merge dtksh patches from one of the CDE developers (#85) 2020-07-22 06:44:24 +01:00
path.h remove unused 'is an exported alias' message (re: 80d9ae2b) 2020-07-19 06:21:14 +01:00
regress.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
shell.h Make liblist an extern to fix dtksh compile (#108) 2020-08-05 22:18:22 +01:00
shlex.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
shnodes.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
shtable.h Make the 'history' and 'r' commands builtins (#76) 2020-07-16 18:56:49 +01:00
streval.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
terminal.h Fixes for implicit declaration warnings 2020-06-14 09:55:08 -04:00
test.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
timeout.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
ulimit.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
variables.h Add ${.sh.pid} as an alternative to $BASHPID (#109) 2020-08-07 02:53:25 +01:00
version.h redirect: check args before executing redirections (re: 7b82c338) 2020-08-09 00:47:22 +01:00