Commit Graph

532 Commits

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