Commit Graph

710 Commits

Author SHA1 Message Date
kleink dd33340fea Indicate file handling failures by exit codes >0; fixes PR/3538 from
David Eckhardt <davide@piper.nectar.cs.cmu.edu>.
1997-04-27 18:34:33 +00:00
christos fb758fd82b PR/3452: Jerry Peek: Redirections of unopened fd to file failed.
for arg in a b c
    do
	echo hi this is $arg 1>&3
    done 3> foo
1997-04-21 12:38:25 +00:00
mrg ecdc59670c note that strcpy is safe. 1997-04-21 05:28:43 +00:00
thorpej 062f26f33b - XXX Inhibit warnings on PowerPC for now - there are lots of
"char is unsigned" problems here.
- Add rules for mkinit, mknodes, and mksyntax that use the HOST_*
  facilities, for cross-compiling.
1997-04-17 08:13:26 +00:00
lukem 31bf4d0efd use _PATH_DEFTAPE from <paths.h> instead of DEFTAPE from <sys/mtio.h> 1997-04-15 06:53:51 +00:00
christos 3a468199cb #if __STDC__ -> #ifdef __STDC__ 1997-04-11 23:08:40 +00:00
christos 360e930d42 Make this work on systems that don't have quads 1997-04-11 23:08:15 +00:00
christos 2c8f740e5c __svr4__ -> __SVR4 1997-04-11 23:07:47 +00:00
christos 7ea7f895f5 Use #ifdef __STDC__ instead of #if __STDC__ 1997-04-11 23:06:51 +00:00
christos 92cdde85e8 Fix so that this compiles on systems without quads and remove the double
inclusion of varargs/stdarg
1997-04-11 23:05:43 +00:00
christos 70bb105c67 Pointer arithmetic on void * is illegal but gcc does not care. 1997-04-11 23:03:08 +00:00
christos 23745b89db Don't call getpwd() because if that fails the shell cannot start. (from scott) 1997-04-11 23:01:44 +00:00
christos f726a3c453 Rename pread to preadfd 1997-04-11 23:00:40 +00:00
christos 3bddaec49b add forward declaration of union node; 1997-04-11 22:58:40 +00:00
christos 7efa5addb4 Track $TERM and call the appropriate editline(3) routine to update the
terminal type.
1997-04-11 22:45:38 +00:00
kleink 3a978953a9 Fix lossage with new namei() when the destination given is "/";
reported by Bernd Ernesti.
1997-04-09 12:06:13 +00:00
kleink 6b58679ffa Implement OCRNL "\r" -> "\n" tty output translation.
Fixes PR standards/3434.
1997-04-02 03:10:51 +00:00
mycroft bd05c38cfd Adjust the input string by the right amount if the pattern wasn't at the
beginning.
1997-03-29 15:29:31 +00:00
cgd 4274523efe pull in util.h rather than prototypeing logtwmp() locally. 1997-03-26 20:28:11 +00:00
mikel b7679caa29 add xref to symlink(2) 1997-03-25 05:30:29 +00:00
lukem a5f8609286 use mkstemp() instead of tempnam() 1997-03-22 03:14:27 +00:00
lukem b7b791e1a0 use mkstemp() instead of mktemp() 1997-03-22 03:02:17 +00:00
mycroft 7fb9269e92 DTRT if e_wmesg is not NUL-terminated. 1997-03-19 05:45:27 +00:00
mycroft 827a9bc80d DTRT if e_login is not NUL-terminated. 1997-03-19 05:34:47 +00:00
christos a0fa692d3b PR/3352: From Hiroyuki Ito: ${#1} was not being expanded properly if there
was a need to allocated another stack block.
1997-03-18 18:54:40 +00:00
christos 7accaec421 NO_HISTORY->SMALL 1997-03-14 01:42:18 +00:00
christos 6042831b7e Fix problems with -DNO_HISTORY 1997-03-13 21:57:32 +00:00
mycroft 3a59e5e8e3 Set input files to close-on-exec mode. 1997-03-13 20:07:49 +00:00
mikel 9652cc6702 tabs is the converse of oxtabs, not itself. pointed out by Geoff Wing
in PR misc/3320.
1997-03-13 05:03:45 +00:00
perry 4f5378d26a Remove rmail -- it has moved to libexec. 1997-03-13 02:58:48 +00:00
perry 46a1f27c28 moved to libexec 1997-03-13 02:12:59 +00:00
perry 15d0dbe011 Add documentation of the fact that date does indeed understand years
after 2000 (years 00 through 68 are interpreted as meaning 2000-2068;
this should be updated sometime before 2068 :-)
1997-03-11 23:43:41 +00:00
mouse 412433b44c alternate -> alternative, per PR 2643 1997-03-08 13:26:20 +00:00
christos 6b7623a681 Fix PR/3289: upon initialization check if $PWD contains the right directory
and use it. We also maintain $PWD now, like the rest of the
	     shells.
1997-03-07 21:36:19 +00:00
cjs 4f5b043d6d PR 3284, from enami tsugutomo <enami@ba2.so-net.or.jp>.
Remove space before punctuation.
1997-03-03 22:00:34 +00:00
christos 4a521d359f varisset fixes:
- treat $0 specially since it is not in shellparams
	- check the number of parameters instead of walking
	  the parameters array to avoid checking against the
	  null terminated element.
1997-03-03 19:26:18 +00:00
christos edc5dadbab PR/3269: Off by one in varisset(), caused variable substitution not to
count the last positional parameter as set.
1997-03-01 19:33:29 +00:00
pk bf18a93a17 Message buffer passed to kvm_openfiles() should _POSIX2_LINE_MAX long; PR#3266 1997-02-28 13:34:50 +00:00
cgd 4f2bfe8b13 Patch from BSDI (via Keith Bostic):
>NFS doesn't support chflags; ignore errors unless there's reason
>to believe we're losing bits.  (Note, this still won't be right
>if the server supports flags and we were trying to *remove* flags
>on a file that we copied, i.e., that we didn't create.)
1997-02-26 14:40:51 +00:00
christos a5aaf55cf3 Fix PR/3258 sh -c 'echo $0' causes segmentation fault. 1997-02-25 17:51:50 +00:00
thorpej 71f1354a10 Fix a typo that caused lack of argument to be misinterpreted as "0".
From Arne H. Juul <arnej@pvv.ntnu.no>, PR #3236.
1997-02-22 01:45:41 +00:00
christos 680690d33c add type builtin. 1997-02-06 23:24:52 +00:00
christos 6f224ae59f Fix parsing problem introduced in the previous ${10} fix, where $#digit
or $digit# would get mis-parsed as a positional parameter.
1997-01-26 18:05:34 +00:00
perry b195ec73d5 nuke the BUGS section -- it was vax specific 1997-01-25 00:17:00 +00:00
perry 61974fdce1 remove obsolete -d and -t options -- kernel timezone handling is long gone 1997-01-24 18:17:17 +00:00
christos 633ceb6db5 - varisset(): In positional arguments, take into account VSNUL so that:
set -- ""; echo ${1:-wwww} works.
- when expanding arithmetic, discard previous ifs recorded regions, since we
  are doing our own scanning. x=ab; echo $((${#x}+1)) now works.
- in ${var#word} fix two bugs:
   * if there was an exact match, there was an off-by-one bug in the
     comparison of the words. x=abcd; echo ${x#abcd}
   * if there was no match, the stack region was not adjusted and the rest
     of the word was getting written in the wrong place. x=123; echo ${x#abc}X
1997-01-24 17:26:28 +00:00
christos 3d5f212ba8 enable parsing of multi-digit positional arguments i.e. ${10} works and it
is not a bad substitution.
1997-01-24 17:15:56 +00:00
perry 6817905411 add ksh to Makefile per pr-3051 -- approved by thorpej 1997-01-16 22:06:54 +00:00
perry 2a9ecb70c3 close pr-3111 -- use sh to invoke script instead of executing 1997-01-16 21:17:53 +00:00
tls 76adbe2bd3 kill register 1997-01-13 17:53:15 +00:00
tls 2ab2e20cff RCS ID Police 1997-01-12 19:11:37 +00:00
tls 48250187e6 kill 'register' 1997-01-11 02:04:27 +00:00
tls 3e254367af kill use of register 1997-01-09 16:44:06 +00:00
tls 3811362c9a kill use of register 1997-01-09 16:31:05 +00:00
tls 4c7b22f594 kill use of register 1997-01-09 16:07:09 +00:00
tls 09a2307c08 Sync to 4.4BSD-Lite2; really just the SCCS ID, because we don't have vfslist.c in our mount sources. 1997-01-09 03:56:31 +00:00
mikel 6a37335a9d reference sigaction(2) instead of the obsolete sigvec(3); fixes PR 3058. 1996-12-26 02:29:58 +00:00
cjs 5678a13f1b Re-introduce some code from 1.14 (with modifications) to make the
shell's idea of the current working directory match reality when
symlinks (or anything else we can't stat) are traversed with the
cd command. However, this does not print out the cwd after cd
traverses symlinks, as it used to, though the capability is still
there should one want to use it.
1996-12-22 08:34:34 +00:00
pk 06b0897774 Change misleading example to read `pax -v -f filename' which doesn't
extract files (Robert Dick; PR#3032)
1996-12-18 23:37:11 +00:00
jtc 614eee469b import pdksh 5.2.12 1996-12-18 04:50:04 +00:00
christos a00e49c200 Getopts bugs again (I'll never get this right).
- make sure that OPTIND is set correctly even in the absence of options.
- don't keep stale state between getopts calls.
1996-12-15 20:37:09 +00:00
thorpej 0097f7bcc8 Make df(1) more liberal (and intelligent) about what it accepts
as arguments (for -t and -l flags, specifically).
From Hubert Feyrer <feyrer@rfhs8002.fh-regensburg.de>, PR #2869.
1996-12-11 03:48:42 +00:00
thorpej 51175461d6 Do multicolumn output in a way that's a little more likely to always
line up evenly.  From D'Arcy J.M. Cain <darcy@druid.com>, PR #2965.
1996-12-11 03:25:39 +00:00
christos 340077b543 - fix parsing bug reported by mycroft: ! was only recognized in the beginning
of pipelines. Now we are recognizing it everywhere like ksh, so:

	! if [ a = b ]; then ! echo c && ! true; else ! echo d; fi

  works.
1996-11-25 20:22:00 +00:00
christos 9530a32719 Fix bug in getopts code where the argument list got truncated.
From Todd Miller.
1996-11-24 20:48:01 +00:00
lukem 5d37ffa7eb fix the the typos 1996-11-10 23:58:22 +00:00
christos 07aeb5b266 remove a debugging printf that was left from the last POSIX error code fixes. 1996-11-09 01:04:07 +00:00
christos 0805134891 Fix bug reported by Chris Torek: use TCSADRAIN instead of TCSANOW, to avoid
dropping characters.
1996-11-08 19:34:37 +00:00
christos ccce082dd2 Fix miscellaneous getopts problems:
- the 3 argument version of getopts would not reset properly
- OPTARG did not get cleared after a non argument option was found
- OPTIND was not set properly after a non argument option.
1996-11-06 01:17:10 +00:00
christos 846dce0ee3 Fix problems that gcc -Wall found (from Todd Miller, OpenBSD) 1996-11-02 18:26:03 +00:00
christos a4ad4c0efc A correction to the previous patch from Todd Miller. 1996-11-02 18:07:08 +00:00
christos 27e15e5bbc echo ${1:-empty} did not do the substitution; from Todd Miller (OpenBSD) 1996-11-02 17:47:41 +00:00
christos 8af8970502 Quote all imported environment variables, so that we don't core dump with
set term='unknown*'
	./csh
or we don't have security problems with:
	set path=('`/bin/rm -fr *`' /usr/local)
	./csh
Reported by Donn Seeley...
1996-10-31 23:50:53 +00:00
cgd 8ba64baaaf add builtins.h to the list of (built) headers depended on by ${OBJS}, so
make from 'cleandir' works.
1996-10-22 13:22:19 +00:00
abrown e613224229 Remove leftover printf("here") from last change. 1996-10-19 02:38:36 +00:00
christos bc73cf950a PR/2808: Remove trailing whitespace (from FreeBSD) 1996-10-16 15:45:03 +00:00
christos afb80e9b13 PR/2808: Add a definition for warnx() (from FreeBSD; currently unused) 1996-10-16 15:28:10 +00:00
christos 2b0a187f34 PR/2808: Use .Nm macro properly. (from FreeBSD) 1996-10-16 15:27:03 +00:00
christos 1a523dd56b PR/2808: - Don't use p++ in macros.
- Hash using unsigned numbers.
	 (from FreeBSD)
1996-10-16 15:24:31 +00:00
christos 68b1dcea6d PR/2808: Don't define DEBUG and #ifdef out functions not needed when DEBUG
is not defined (from FreeBSD).
1996-10-16 15:21:49 +00:00
christos 3b66e0cada PR/2808: Add HISTORY section and documentation of getopts. (from FreeBSD) 1996-10-16 15:20:01 +00:00
christos da8c1311a3 PR/2808: fix redirection to the same file descriptor
better error messages for failed pipes
	 (from FreeBSD)
1996-10-16 15:16:04 +00:00
christos d8c242f0ae PR/2808: - detect eof inside backquotes
- handle && and || shortcircuits properly
	 - tokens.def -> tokens.h
	 (from FreeBSD)
1996-10-16 14:53:23 +00:00
christos 10a76271de No need to have 2 declarations for the same constant string, one for K&R and
one for STDC...
1996-10-16 14:51:24 +00:00
christos fd8c99438e PR/2808: POSIX 1003.2: first arg after -c cmd is $0, remainder $1...
(from FreeBSD)
1996-10-16 14:49:56 +00:00
christos 14185e5152 PR/2808: Kill use of error2() (from FreeBSD) 1996-10-16 14:49:03 +00:00
christos 71ab1d0aed PR/2808: tokens.def -> tokens.h 1996-10-16 14:47:49 +00:00
christos 03ba3cf0d6 PR/2808: Use the <ctype.h> functions instead of our homegrown tables to
determine if a character is alpha or alphanumeric, so that NLS
	 works... now if only our NLS really worked... (from FreeBSD).
1996-10-16 14:46:35 +00:00
christos f6c00506fc PR/2808: Remove extraneous newline from error message (from FreeBSD) 1996-10-16 14:44:28 +00:00
christos 00a9e38ee8 PR/2808: #undef things that we #define to avoid duplicate definitions.
(from FreeBSD)
1996-10-16 14:43:37 +00:00
christos a20d79429a PR/2808: Don't include <sgtty.h> unless OLD_TTY_DRIVER is defined.
Remove extraneous newline from error messages.
1996-10-16 14:42:20 +00:00
christos 435812e77d PR/2808: Remove extraneous newlines from error routines (from FreeBSD) 1996-10-16 14:40:32 +00:00
christos 4b99c4d748 PR/2808: Fix parsing of $n where n > 9 (from FreeBSD) 1996-10-16 14:38:58 +00:00
christos 2a9c11dd53 PR/287: Shell does not exit with 126/127 when permission denied/
command not found. Add extra exception type and generalize
	error handling routines to take that exception type. Use
	a global variable exerrno to keep the last exec error.
1996-10-16 14:35:42 +00:00
christos 886c875a97 PR/287: Exit with 127/126 when command is not found/permission denied.
PR/2808: don't bomb out on "set -e; false && true"
1996-10-16 14:31:57 +00:00
christos dd6abbc5c3 PR/2808: Handle cd "". This is for systems where "" != "." 1996-10-16 14:29:42 +00:00
christos aded8d4c14 PR/2808: tokens.def -> tokens.h 1996-10-16 14:24:56 +00:00
christos 3ec8ea2b0e PR/2808: Depend and clean fixes from FreeBSD 1996-10-16 14:23:51 +00:00
jtc 56381415bc Removed missing.c beacuse NetBSD is not missing any of the functions
that it provides.
1996-10-10 14:17:02 +00:00
jtc 87313b5b47 options.h is no longer used 1996-10-10 14:10:39 +00:00