Commit Graph

897 Commits

Author SHA1 Message Date
hannken
0b34aaa0a4 Allow a count of zero for the following commands:
blocksize density eom erase offline rewind rewoffl status retension
This makes it possible to set the default density or to set variable
blocksize. See PR #3256.
1997-07-01 20:15:51 +00:00
phil
691627e8a2 Define USETBL to get tbl used in making man page. (Closed PR 3144.) 1997-06-30 19:30:04 +00:00
kleink
52a3f39615 POSIX.2 utilities must call setlocale(LC_ALL, ""); 1997-06-26 23:18:05 +00:00
kleink
b4780b53b4 When allocating a buffer failed, don't fail silently. 1997-06-26 23:07:19 +00:00
kleink
5d1b524ff3 Fix OBOB: when reassembling a file name from the header block's `prefix'
and `name' fields, don't overwrite the glueing '/' between them.
1997-06-25 22:44:00 +00:00
pk
c7b6ec6b95 Refer to execve(2), add section to `vfork' ref. (almost per PR#3627). 1997-06-23 20:41:50 +00:00
pk
3cb5108692 Xr to [gs]ethostname in section 3 (from PR#3627) 1997-06-23 20:37:42 +00:00
pk
c6850b36c5 Xr to [gs]etdomainname in section 3 (from PR#3627) 1997-06-23 20:35:59 +00:00
pk
6d865e0768 Use .Xr (from PR#3627) 1997-06-23 20:30:24 +00:00
lukem
a1267d0c71 add auto-generated token.h to dependancy for ${OBJS}.
not everyone runs "make depend" ...
1997-06-16 02:42:38 +00:00
mrg
bf8f52b902 expand HISTORY section a bit. 1997-06-09 09:15:49 +00:00
jeremy
15bae9aee1 Fix typo. [PR/3722] 1997-06-08 08:47:25 +00:00
jeremy
59f8247d38 Fix incorrect use of name vs. pwd->pw_name and wrong logic in strdup() test.
[PR/3718]
1997-06-07 07:11:34 +00:00
mrg
66bc7bd651 fix PR#3710, reported by Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>.
- don't pass pw->pw_name into functions; make a copy.
1997-06-05 16:10:46 +00:00
mikel
a18d01ced0 add SYNOPSIS line for [; fixes PR bin/3705 1997-06-05 06:39:59 +00:00
mikel
c82e54d994 nuke extra : in usage string 1997-06-04 04:38:37 +00:00
veego
98d35afe85 Add rcmd to the SUBDIR list. 1997-05-29 21:06:11 +00:00
mrg
ccb39c10a2 oops, forgot to commit these: garbage collect setuid stuff. 1997-05-28 00:32:18 +00:00
mrg
4925873939 remove the setuid bit. 1997-05-27 08:45:52 +00:00
mrg
bf5e0e4892 use rcmd(); garbage collect junk. 1997-05-27 07:09:51 +00:00
mrg
6992846f36 use orcmd() for now. 1997-05-26 15:18:25 +00:00
mrg
6d6247c2e2 merge conflicts. 1997-05-26 14:17:15 +00:00
mrg
43b97d820e rcmd backend. 1997-05-26 14:08:40 +00:00
cjs
cddf57d923 Add documentation for ulimit command, courtsey of
Eric Fischer <eric@fudge.uchicago.edu>.
1997-05-23 19:40:30 +00:00
kleink
8385a5edde Fix one remaining botch when copying directory trees using -R. 1997-05-21 09:48:33 +00:00
kleink
bdad0c3627 Fix thinko in last commit, causing "cp file /" to succeed but
"cp file1 file2 /" to fail badly; fixes PR/3646 from Paul Kranenburg.
1997-05-19 01:07:33 +00:00
mycroft
8da4c69623 Correct bogons and omissions in previous change.
Also, remove the `-F' option, which was undocumented and is no longer useful.
1997-05-16 14:44:01 +00:00
kleink
e5b01aa2f2 Use '0' to front-pad octal strings, not ' '. 1997-05-16 09:38:40 +00:00
jtk
d697818b06 add -h flag to suppress following of symbolic links 1997-05-16 02:59:38 +00:00
veego
3e90f9b423 Add mkinit.o mknodes.o mksyntax.o to CLEANFILES 1997-05-15 10:03:24 +00:00
mikel
72f823dad3 add missing close-brackets; from Greg Oster in PR bin/3613. 1997-05-15 05:27:14 +00:00
mikel
90490d03b2 fix xrefs: sigvec(2) -> sigaction(2), killpg(2) -> killpg(3). 1997-05-12 08:00:09 +00:00
mikel
bd361a3aba fix broken timed(8) xrefs, noted by David Brownlee. 1997-05-11 08:34:37 +00:00
mycroft
ed67bf81a0 Use DPSRCS. 1997-05-09 13:28:39 +00:00
mycroft
cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
gwr
10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00
gwr
012e528f2e Use .PATH.c: ... 1997-05-06 20:44:56 +00:00
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
jtc
6f57e37d56 sync with 5.2.11 (now define POSIXLY_CORRECT) 1996-10-09 15:31:59 +00:00
jtc
0de5aac478 import pdksh 5.2.11 1996-10-09 15:29:01 +00:00
jtc
dc22bec48e autoconf biffed a test --- our stat macros do work 1996-10-09 15:16:44 +00:00
jtc
5a4124868a import pdksh 5.2.9 1996-10-09 15:12:31 +00:00
ws
fddfc1d33f Fix p_nice vs. NZERO code.
Remove some unnecessary casts.
Remove an unused time format field.
1996-10-02 18:07:20 +00:00
christos
0c75083000 - Use ../usr.bin/printf/printf.c
- Fix built-in which to set the status code correctly.
1996-09-30 20:03:52 +00:00
thorpej
83e59fbba8 Fix SEGV when kludging old-style options.
From Greg Stark <gsstark@mit.edu>, PR #2550.
1996-09-27 02:59:53 +00:00
jtc
e1b2664cf1 import pdksh 5.2.8 1996-09-21 23:35:13 +00:00
thorpej
47f181309b If getcwd() fails, dang it, I want to know _why_. 1996-09-18 22:47:48 +00:00
mycroft
c65b90450d ioctl(TIOC[GS]PGRP) -> tc[gs]etpgrp() 1996-09-17 14:44:05 +00:00
christos
4d9c694460 Apply PR#2721 from VaX#n8: make man page more lucid in places. 1996-09-02 21:28:21 +00:00
christos
29cad877cd Don't infinite loop with:
unset var
	echo ${var:=}
1996-09-02 21:25:52 +00:00
explorer
b59a6a8b5f return 0.0 cpu usage for zombies. closes pr bin/2693. Perhaps this should
be fixed in exit, so p->p_pctcpu is cleared when the process exits.
1996-08-15 01:41:23 +00:00
explorer
464f1bd5ff Fix mkdir -p to not ignore terminal directory mode specified.
Closes pr bin/2686.
1996-08-12 22:44:53 +00:00
jtc
813b4a4fbb converted to use -lrmt 1996-08-09 04:28:40 +00:00
jtc
33849ebec9 Add the asf command for absolute tape positioning.
Some cleanup of the remote tape interface, but a lot more is needed.
Ideally, we'd have a "rmt" library which provides a remote tape API
including open, read, write, close, and ioctl.  This is useful not
only for mt, but also for programs like tar, cpio, pax, backup and
restore.
1996-08-08 09:16:06 +00:00
mrg
0b88073324 this program does not need to be setuid root. 1996-08-06 07:21:40 +00:00
explorer
e0b43395ad include <pwd.h> for one function (user_from_uid) and correct one
%*d -> %*ld in a format string.  (yes, trying to find the problem with
ps wwwwwwwww1 and core dump, and might as well clean up while here)
1996-07-13 06:58:33 +00:00
mycroft
00e5d89a69 Sort FTS_NS entries by name, just so the order is well-defined. 1996-07-09 09:16:29 +00:00
mycroft
524eb9810f Stylistic change of no consequence. 1996-07-08 10:32:01 +00:00
mycroft
0dc5640b54 Compare nanosecond field in timestamps.
Always do name comparison if other sort field is equal.
1996-07-08 10:22:13 +00:00
mycroft
c603307d33 Partition FTS_NS entries from others, to avoid confusing qsort().
Don't bother to order the FTS_NS entries amongst themselves.
1996-07-08 10:20:16 +00:00
jtc
a29e2412d6 Fix formatting of description of @ command; From PR #2577 1996-06-30 23:16:32 +00:00
christos
beb57fb35d - Add function callback capability when variables are set.
- Add setvarsafe that returns an error instead of longjmp() to the
  error code.
1996-06-25 16:49:05 +00:00
christos
cc31700a92 - Add getoptsreset to be used as a callback function when OPTIND is set.
This is used to implement the POSIX behavior when OPTIND=1
- Call setvarsafe instead of setvar. If one ran
	"getopts optstr badvariable"
  where badvariable contained an illegal variable name, there was no way
  to recover, since setvar() would longjmp on the error.
1996-06-25 16:47:43 +00:00
christos
02b3c16118 change sethistsize() to take the history size as an argument so it can
be used directly by the new variable callback functions.
1996-06-25 16:43:33 +00:00
christos
9a738ef22d const poisoning. 1996-06-25 16:40:38 +00:00
christos
70ad20e9f1 Include header files to get function prototypes; don't use home grown ones. 1996-06-25 16:40:06 +00:00
christos
0bc88b2434 getopts fixes:
1. OPTIND value was not computed correctly when the argument was part of the
   option string (i.e. for "l:" "-l 1" was working "-l1" was not). (PR/2505).
2. OPTARG was not being unset in case of errors [in the non POSIX error case].
3. optvar could be set to random values.
4. Option string starting with a : was not treated specially as POSIX
   specifies (if the option string starts with a :, then there is no
   error printed when there are missing option arguments or illegal options,
   and OPTARG and optvar are being set specially).
5. Implemented getopts "opts" optvar [arg]. The optional argument case
   was not implemented.

To do:
- what does Posix say about resetting the getopts state? Bash does it
  by setting OPTIND=0; is that correct? Should we be doing the same thing?
- should we be using getopt(3) for everything internal to the shell? Is that
  feasible because we might need to handle multiple invocations at once.
1996-06-04 21:00:09 +00:00
cgd
ad8b41fa2a don't spew an error message if setlocale(LC_ALL, ""); fails. This is for
consistency with other programs, and because currently it can never
actually succeeed if LANG is set to something other than "C".  Sent
in by me in PR 2486, approved by jtc).
1996-06-04 20:41:15 +00:00
christos
66824391d1 Fix PR/2504: return with no args returns 0 instead of the return value of
the previous command in functions
1996-06-03 12:21:17 +00:00
cgd
7514e04296 in findvar(), return after warning about unknown keyword so we don't
deref. a null pointer.
1996-05-30 21:16:32 +00:00
mrg
2aa93b359f "SCSI tape" -> "SCSI", from is 1996-05-26 04:00:49 +00:00
mrg
5bdb157a47 add blocksize/density commands. other part of #921 (Olaf Seibert <rhialto@polder.ubc.kun.nl>) 1996-05-21 10:23:54 +00:00
mrg
d63f735104 add type 7 (scsi tape). part of pr#921 (Olaf Seibert <rhialto@polder.ubc.kun.nl>) 1996-05-21 10:09:10 +00:00
cgd
edc0ef345c Fix growstackblock() 'newlen' calculations:
(1) it needs to be ALIGNed for both halves of the 'if,' and
	(2) if you're going to claim that you now have ALIGN(newlen)
	    bytes left, you should have actually allocated
	    ALIGN(newlen), rather than just 'newlen' bytes.
1996-05-20 14:49:32 +00:00
jtc
26db98be19 Fixed typo in comment 1996-05-17 01:07:47 +00:00
christos
55a41e8abb Close PR/2384 backquoted backslash-newline was not eaten. 1996-05-09 19:40:08 +00:00
jtc
4f6f2f00e0 Use const qualifier as appropriate 1996-05-07 18:20:05 +00:00
mycroft
f3a6e4ecb9 Remove comment regarding 4.4 symlink behaviour. 1996-04-25 15:44:56 +00:00
thorpej
22e88f769b Oops, forgot to add "chio" to the subdirs list. 1996-04-23 17:26:32 +00:00
thorpej
b4ffe0bfe2 Utility to control media changers from the command line; corresponds
to new SCSI changer driver.
1996-04-03 00:34:38 +00:00
scottr
c23158c00e - Open device with O_WRONLY only if the command actually writes to the
device, otherwise O_RDONLY.  Thanks to Hitoshi Osada for noticing this.
  Closes PRs 2202 and 2249.
- Style police.
1996-03-28 07:10:05 +00:00
mrg
7f64ea0365 impliment -z (gzip) in pax and tar, and -Z (compress) in tar. 1996-03-26 23:54:13 +00:00
jtc
5f1b7809e2 fix damage caused by sccs (long ago) 1996-03-21 01:36:28 +00:00
phil
3e4d50990e a a => a (close pr 2204). 1996-03-12 04:32:37 +00:00
pk
0b9acf16f8 Return zero status if `else' clause is empty. 1996-03-06 14:49:29 +00:00
scottr
3a2ca195af Picked up a little lint in the dryer. 1996-03-06 06:34:20 +00:00
scottr
64e4898415 Since we're setuid, let's be paranoid. 1996-03-06 06:22:04 +00:00
scottr
291f29d7f4 Forgot this bit, somehow. 1996-03-06 04:52:37 +00:00
christos
b09ffc42b1 - parser.c: Fix prompting in old style backquote expansion. Fixes PR/2139
and many user complaints why the shell hangs in echo "`"
- eval.c:   Fix exitstatus invalid resetting in `if' statements were:
		if (exit 3); then
			echo foo $?
		else
			echo bar $?
		fi
	    printed 'bar 0' instead of bar 3
1996-03-05 21:03:52 +00:00
scottr
41c2cff5ab Add remote tape capabilities. 1996-03-05 20:39:32 +00:00
jtc
16f5230c39 Changed so that cd builtin doesn't do wierd stuff when cd'ing through
symlinks.  From Chris Demetriou <cgd@NetBSD.ORG>.  Fixes PR #1776.

Changed so that INTOFF/INTON are paired in getpwd().  From Matthias
Pfaller <leo@marco.de>.  Fixes PR #2130.
1996-03-01 01:58:58 +00:00
jtc
6ea95846cb add const qualifier to args and clist tables 1996-03-01 01:18:58 +00:00
jtc
dba6c61918 Re-do change to use const qualifer with conversion tables.
Fixed bug where pre-computed upper/lower case conversion tables were
used.  This won't work if user selected a different locale.
1996-02-20 19:29:01 +00:00
cgd
6e72825941 Previous change (Use const qualifier with conversion tables) is broken.
(1) It won't compile, and (2) there's code in dd.c which actually
does modify (some, all, used?) conversion tables, so they can't _all_ be
const (if any can).
1996-02-20 18:54:01 +00:00
jtc
a162c334b1 Use const qualifier with conversion tables 1996-02-19 23:12:55 +00:00
mycroft
b5b9e1d0fa Fix problems with the way init.o is built:
* Prevent gratuitous rebuilds when nothing has changed.
* Make sure it's rebuilt if a .h file is updated.
From Mike Long, PR 1454.
1996-02-18 12:29:18 +00:00
jtc
645e4d83ee Changed so that COLUMNS environment variable will override the value
obtained via the TIOCGWINSIZ ioctl.  This is required by POSIX.2, see
section 4.39.5.3.
1996-02-14 05:58:53 +00:00
christos
d3aec2060d Fix PR/2070: Ksh style variable modifiers were broken in /bin/sh, from
enami tsugutomo
1996-02-12 15:11:41 +00:00
christos
a8a54fa636 fix bug where
child% suspend
parent% bg
parent% fg
Fg would not work anymore, it would say Suspended (tty input).
1996-02-09 02:28:29 +00:00
jtc
429c5e2f3b Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:02:24 +00:00
pk
3c7b56e9b2 Note compatibility `-h' op. (from Rob Windsor; PR#1740) 1996-01-05 12:39:30 +00:00
jtc
9a3ca97f12 ENVIRONMENTAL -> ENVIRONMENT 1995-12-05 02:41:35 +00:00
jtc
3ae562ed82 merge in changes from 1.1 release branch 1995-11-28 05:12:44 +00:00
christos
ff008dabf6 Fix PR/1760, where 'cd -' before any other command could cause a reference
to an uninitialized pointer. Use getcwd() to get the current working directory,
instead of forking /bin/pwd [per Scott's suggestion]
1995-11-19 23:27:37 +00:00
jtc
41e21e1634 LIBMATH -> LIBM (PR# 1688) 1995-10-26 00:48:59 +00:00
christos
c22dddc4e0 Parallel make fixes. 1995-10-22 00:15:02 +00:00
christos
893ade3fac - fix PR1620, -DNO_HISTORY did not work.
- restore parsing state after parsing old style command substitution.
  The ';' in '`echo z;`' broke the following:
	for i in 1; do
		cat > /dev/tty << __EOF__
		`echo z;`
		__EOF__
	done

cVS: Enter Log.  Lines beginning with `CVS: ' are removed automatically
1995-10-19 04:14:37 +00:00
gwr
f8791fb073 Add -DNO_CONV to make this smaller in my ramdisk. 1995-10-08 23:01:22 +00:00
christos
92380da725 fixed previous booboo that broke command line editing input. 1995-10-06 21:38:18 +00:00
cgd
db6548cd7b correct the sizes specified for various variables. 1995-09-29 21:58:59 +00:00
cgd
9b497abb6f add code to convert from INT32 and UINT32 to native types. 1995-09-29 21:58:12 +00:00
cgd
ca9f3b6e66 add INT32 and UINT32 variable type specifiers. some of the variables
that are printed are of fixed size.
1995-09-29 21:57:03 +00:00
tls
546f6b1705 Sync with 4.4BSD-Lite2 1995-09-28 07:18:20 +00:00
cgd
fe622df251 kill an extr space in a (literally-printed) example 1995-09-27 05:38:55 +00:00
jtc
0ab192c94c Update lseek() constants:
L_SET	-> SEEK_SET
	L_INCR	-> SEEK_CUR
	L_XTND	-> SEEK_END
1995-09-27 00:38:38 +00:00
christos
c1b02d9bff - Fix -v flag, so that it works properly when the shell reads from scripts.
- Bad style to fix my own PR, but I'd like to commit the parallel make
  changes soon, and this is a necessary prerequisite.
1995-09-26 13:25:19 +00:00
jtc
422216beb9 Uncomment text that describes that a vertical bar is printed after each
pathname that is a FIFO when the -F option is used.
1995-09-26 05:04:45 +00:00
jtc
d4fe82df8d Handle %q format directive; from Mike Long (PR #1454). 1995-09-14 16:19:06 +00:00
christos
f9382bca1a Fix return builtin to work like it does in ksh:
When not in a function, it skips the rest of the current input file.
Instances of `return' outside function definitions were previously ignored.
What does joe posix have to say about this?
[fixes PR/1444]
1995-09-11 17:05:41 +00:00
jtc
c2f3dc5291 Sync with 4.4lite2 1995-09-07 06:57:11 +00:00
jtc
d943cdadce Sync with 4.4lite2 1995-09-07 06:42:58 +00:00
jtc
f859c958ca Sync with 4.4lite2 1995-09-07 06:28:39 +00:00
jtc
5fc5415e25 Sync with 4.4lite2 1995-09-07 06:12:53 +00:00
pk
6c1353c677 Sync exit codes with man page (from Scott Burns). 1995-08-27 18:31:20 +00:00
jtc
a13d94f0b7 Change default magtape from /dev/rmt12 to /dev/rst0; PR #1399 1995-08-22 19:36:00 +00:00
pk
e42c9afe2e .DV => .Dv (from Mark Weaver, PR#1370). 1995-08-18 10:32:03 +00:00
cgd
81a152541e Kenneth Stailey pointed out that his previous fix was incorrect. RE and SL
should be bounded at 127, not 99.
1995-08-15 14:00:59 +00:00
cgd
731f8de0fa as suggested in PR 1347, by Kenneth Stailey, make "RE" and "SL" fields
show up as two digits, max, displaying "99" if > 99.  allow any field with
an unsigned value to be specified as printing that way (though right now
it's only used for RE and SL, which are both unsigned longs).  This fix
is substantially different than that suggested in the PR.
1995-08-14 05:00:03 +00:00
jtc
40b67f2121 lose unused variable; PR #1297 1995-08-11 00:38:15 +00:00
jtc
bdf0a24b3d Don't remove the destination file if there is a write error. This is
very bad if it is actually a device or fifo.  POSIX.2 requires that a
diagnostic message be written, the file descriptor be closed, and for
cp to continue on with the rest of the files.
1995-08-02 07:17:02 +00:00
jtc
23e6aab105 Use "utility" instead of "command". Modern definitions of these terms
are distinct (See POSIX.2 glossary).

A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.
1995-07-25 19:36:36 +00:00
jtc
1c13dcfdd8 s/HISTORY/STANDARDS/; noted by Masanobu Saitoh in PR#1269 1995-07-25 18:34:15 +00:00
christos
782cb68126 Fix bin/1240, from Dennis Ferguson. the exit builtin with no arguments
should return the exitcode of the previous command but it always returned 0.
1995-07-20 15:04:16 +00:00
pk
edae5ead03 Relocate pointers after re-allocation of the job table. 1995-07-04 16:26:45 +00:00
mycroft
33b2edf3a9 Style and format police. 1995-06-25 21:59:21 +00:00
mycroft
26fcf513d2 Don't complain if a directory already exists. From Greg Hudson, but
slightly edited.
1995-06-25 21:44:34 +00:00
cgd
3d113b326b don't assume f_fstypename is larger than MFSNAMELEN or is nul-terminated 1995-06-18 10:58:06 +00:00
jtc
88fc62fe16 Changed type of rlimit values from quad_t to rlim_t. Cast rlim_t's to
quad_t's and use "%qd" in printf.
Eliminated unneccessary conditional.
1995-06-12 19:44:16 +00:00
mycroft
332b7d5213 Add a DPADD. 1995-06-10 20:19:40 +00:00
christos
a45947b2a4 Changed so that 'PATH=newpath command' works, instead of looking at the
old path. Synced input.c with vangogh.
1995-06-09 01:53:44 +00:00
cgd
8936958f57 typeof(timeval.ts_sec) != time_t 1995-06-07 16:29:30 +00:00
cgd
dcb82cbdbc needs string.h 1995-06-07 16:28:03 +00:00
christos
9d255ec409 Ignore result of sigaction when setting traps. Traps will succeed even
on SIGKILL or SIGSTOP. This is what other bourne shells do. (suggested
by mycroft)
1995-06-07 04:16:57 +00:00
christos
b842cc2784 Avoid trapping SIGKILL. Pretend that we did, so that we will not keep
failing trying to trap it later. This is what the other bourne shells do.
1995-06-05 14:24:33 +00:00
mycroft
c7ad9c47f1 Fill in sin_len. 1995-06-03 22:24:45 +00:00
ragge
2c26a4db6f Removed some (unworking) #ifdef vax. 1995-06-01 16:25:04 +00:00
christos
58e18fc330 Fixed bug where
$ cat foo
echo $FOO

$ FOO=1 . ./foo
$ echo $FOO

Did not echo 1 at all. Now variable assignments before sourced scripts
are honored during and after the execution of the script.
1995-05-28 18:09:48 +00:00
mycroft
d91f14cba8 If there is another field after the command, fill in the command field with
blanks.
1995-05-25 04:13:17 +00:00
mycroft
02513843ae Simplify this just a little. 1995-05-25 03:14:37 +00:00
christos
ec16f0d3d8 Fixed bug where 'which /bin/csh' reports .//bin/csh, by copying the
current tcsh code.
1995-05-23 19:47:16 +00:00
mycroft
8465d5c10c Split out some helper functions again. 1995-05-21 13:38:25 +00:00