Commit Graph

604 Commits

Author SHA1 Message Date
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