Commit Graph

183 Commits

Author SHA1 Message Date
Peter Wemm
8f08f33ed9 Implement allowing 'set -v' in the middle of a script to work.
This means that a script containing:
  echo 1
  set -v
  echo 2
will now produce output, like it does on SYSV machines and other 'proper'
/bin/sh implementations..

This is done by a slight restructure of the input processor allowing it to
read chunks from the file at a time, but process the data by line from the
chunk.

Obtained from:  Christos Zoulas for NetBSD. <christos@deshaw.com>
1995-11-03 18:50:14 +00:00
Poul-Henning Kamp
8b9b0e39a7 I add #include <sys/user.h> 1995-10-28 20:11:18 +00:00
Andrey A. Chernov
25c3d35121 Fix -h option:
sense symlink even it is unresolved
1995-10-28 11:54:42 +00:00
Andrey A. Chernov
2bf4b9cf1f Change local to LC_ALL, there is no bitmask 1995-10-26 10:57:52 +00:00
Andrey A. Chernov
f5bd01c69e Change locale to LC_ALL, there no bitmask 1995-10-26 10:56:38 +00:00
Torsten Blum
59f0c0d522 fix bad dependencies (LIBMATH -> LIBM) 1995-10-25 15:08:21 +00:00
Andrey A. Chernov
fb241711f7 Add missing reaction on LC_ALL and LC_COLLATE 1995-10-23 23:08:26 +00:00
Andrey A. Chernov
f7c627b282 Add setlocale LC_CTYPE 1995-10-23 21:31:48 +00:00
Andrey A. Chernov
c2ad0566d6 Remove unneded ctype.h everywhere
Add setlocale LC_TIME
1995-10-23 21:23:27 +00:00
Andrey A. Chernov
1d06ee4a64 Change LC_ALL to LC_CTYPE|LC_TIME - small optimization 1995-10-23 21:09:01 +00:00
Andrey A. Chernov
0c56c7b29c Add setlocale LC_CTYPE|LC_TIME 1995-10-23 21:06:31 +00:00
Andrey A. Chernov
5b28d45420 Remove unneded ctype.h 1995-10-23 21:03:40 +00:00
Andrey A. Chernov
a409ec1917 Add setlocale LC_ALL 1995-10-23 20:36:26 +00:00
Andrey A. Chernov
4d279a0648 Add setlocale(LC_TIME,... 1995-10-23 20:26:53 +00:00
Andrey A. Chernov
afceae0c47 Wrong library was picked by ed 1995-10-22 20:14:13 +00:00
Joerg Wunsch
769bbc65e8 o rename ulimit -p into ulimit -u, so we are in agreement with bash
o fix brokeness for 1>&5 redirection, where `5' was an invalid file
  descriptor, but no error message has been generated

o fix brokeness for redirect to/from myself case
1995-10-21 00:47:32 +00:00
Joerg Wunsch
7a2afe644c Implement the "ulimit" builtin. This is the analogon to csh's "limit"
command and badly needed in sh(1) for everybody who wants to modify
the system-wide limits from inside /etc/rc.

The options are similar to other system's implemantations of this
command, with the FreeBSD additions for -m (memoryuse) and -p (max
processes) that are not available on other systems.
1995-10-19 18:42:12 +00:00
Joerg Wunsch
3d434cfb15 Fix my breakage of the $0 handling during $ENV processing.
Since the broken version went into 2.1, this fix should, too.
1995-10-09 17:56:32 +00:00
Bruce Evans
27e79e1d84 Handle trailing slashes in source filenames correctly. E.g., rewrite
`mv foo/ ../..' to `mv foo/ ../../foo/', not to `mv foo/ ../../'.  The
latter caused a panic.  Before the trailing slash changes in the kernel,
the trailing slashes caused the rename() for this mv to fail earlier, so
there was no panic in 2.0.

Fixes part of PR 760.
1995-10-07 10:42:48 +00:00
Mark Murray
2f67cae6ef Correctly build the secure ed(1) only if secure/ exists.
Pointed out by:	bde
1995-10-03 15:44:50 +00:00
Bruce Evans
eca0f5097e Preserve sticky bit for cp -pR'. It was already preserved for cp -R'.
This also fixes loss of the sticky bit for `mv' across file systems.
1995-10-03 12:55:01 +00:00
Bruce Evans
001aff9ffc Fix exit status. `cat no-such-file >/dev/null' exited with status 0.
This has been broken since cat's own err() function was sloppily
replaced by the library functions warn() and err().
1995-10-03 12:46:37 +00:00
Joerg Wunsch
6aee553317 Make the mkinit internal command issue an #undef for each #define, to
avoid "duplicate definition" warnings.
1995-10-01 15:13:31 +00:00
Joerg Wunsch
6d753bdd67 Posixize:
sh  -c [-aCefinuvx] command_string [ command_name [argument ...]  ]        1

 4.56.3  Options

    -c          Read commands from the command_string operand.  Set the
                value of special parameter 0 (see 3.5.2) from the value of
                the command_name operand and the positional parameters
                ($1, $2, etc.) in sequence from the remaining argument
                operands.

Pointed out by: Kaleb Keithly (kaleb@x.org)
1995-10-01 15:11:42 +00:00
Mark Murray
6cef1ad675 Define CRYPTOBJDIR if secure is being built 1995-10-01 14:55:06 +00:00
Mark Murray
670e751a63 ed/Makefile is able to 'decide' for itself whether to build secure or
unceumbered ed. Remove the superfluous .if (...) / .endif
1995-10-01 14:24:01 +00:00
Mark Murray
6eb5c24ff8 Use the same make technique as passwd and xntpd for the secure ed(1). This
will allow the secure/bin/ed directory to be cleaned out and the bin/Makefile
to be cleaned up.
1995-10-01 14:17:29 +00:00
Andrey A. Chernov
9c52d82f1e Build secure ed if available and allowed 1995-09-29 19:31:55 +00:00
Peter Wemm
c55931c759 Correct the alignment of the tty column, which was affected by my change to
allow more than two tty characters.

David Greenman pointed out that when a process that had been revoked from
it's controlling tty, the "-" sign was detached from any two-character
names.
1995-09-26 17:48:59 +00:00
Mike Pritchard
5807eef186 Uncomment out references to FIFOs for the -F and -l options.
Also mention sockets in the text for -F.

Partially obtained from the NetBSD commit mail list.
1995-09-26 08:48:09 +00:00
Bruce Evans
beff52884f Fix relocation of job table.
while { sleep 1 & wait; } do echo 1; done

corrupted the job table every 4th iteration.
1995-09-21 13:24:20 +00:00
David Greenman
a9e0f8b2e0 Don't dereference a NULL pointer in the case of a null pipe.
e.g.:
ls |> foo.out

sh now behaves the same as it does under SunOS 4.x for this case.
1995-09-20 08:30:56 +00:00
Paul Traina
4ed5be00c5 If mail is received with no from address, invoke sendmail with
/usr/sbin/sendmail -f <> dest
rather than
	/usr/sbin/sendmail -f dest.

Submitted by:  Michael Butler <imb@scgt.oz.au>
Obtained from: Eric Allman <eric@cs.berkeley.edu>
1995-09-16 18:52:51 +00:00
Mark Murray
776955d918 Updating /usr/include/kerberosIV/des.h so eBones will build breaks
rcp and rlogin.
(patch supplied)

Submitted by:  John Capo <jc@irbs.com>
1995-09-10 14:59:51 +00:00
Peter Wemm
6926792029 Increase the tty column width from 2 to 3 characters.
This gives us more room to breath with tty names, especially with drivers
that support large numbers of ports..  eg: specialix and digiboard.

This does not actually change the current tty names, it just allows room
for reporting more characters if the drivers use them.
1995-09-04 01:22:54 +00:00
Jordan K. Hubbard
6cef43a78b Well, it would appear that the "ayes" have it (though by a slim margin).
Apply my \c changes to echo.  It should also be noted that this is:
A) going into 2.2, not 2.1
B) a functional no-op unless you actually use it!
1995-08-31 17:25:55 +00:00
Joerg Wunsch
248ffae537 Sigh. This will become a never ending story. :-(
When comparing my recent parser change against the ash in 1.1.5.1, i
found that a couple of other problems in the same area has been fixed
there, but not in 2.2.  Semicolons and EOF do also delimit words...
1995-08-28 19:24:35 +00:00
David Greenman
92f6a19170 Correct the default format info to indicate "%+". 1995-08-28 10:38:01 +00:00
Joerg Wunsch
47a052e00f Make the shell handle a null command in a &&/|| sequence correctly.
The && and || tokens do also terminate a command, not only the
newline.

While i was at it, disabled trace code by default, it served no good
purpose since it required the use of a debugger anyway to be turned
on.  Instead, placed a hint in the Makefile on how to turn it on.

This makes the shell ~ 10 % faster and ~ 4 KB smaller. :)

Pointed out by:  jan@physik.TU-Berlin.DE (Jan Riedinger)
1995-08-27 20:26:44 +00:00
Paul Traina
e3149abdf5 Clean up compilation warnings. 1995-08-23 05:31:06 +00:00
Nate Williams
bdc95502ca Fix possible FS corruption caused by extra parameter to pax.
oo
Turns out, it's pretty important if you use PAX for backup.  In the man
page for PAX, there is an error (OK, we could call it a "potentially
catastrophic incompleteness").  It reads:

>  The command:
>
>      pax -r -v -f filename
>
>  gives the verbose table of contents for an archive stored in filename.

Yup, it does do that.  With a side effect: it also _replaces_ all the
files that come in from the archive.  As is my custom, I did my
backup-validation real soon after the backup was written.  Precisely
because I've seen the same sort of thing happen on other systems.  So all
that file-restoring didn't do a lot of damage.  Probably helped my
fragmentation somewhat (aha, an online defragger?) It did confuse one
hapless user, who lost an email message he _knew_ he hadn't deleted.
Apparently the system restored the file as of just before that critical
message came in.

The correct entry should read:

>  The command:
>
>      pax -v -f filename
>




>  gives the verbose table of contents for an archive stored in filename.


Submitted by:	John Beckett <jbeckett@southern.edu> via the BSDI mailing list
1995-08-16 23:12:25 +00:00
Joerg Wunsch
f300f7a0f9 The command to `move' across file system boundaries is actually
cp -PRp source_file destination

Closes PR # bin/689: mv(1) manpage

Submitted by:	wosch@cs.tu-berlin.de (Wolfram Schneider)
1995-08-15 19:44:39 +00:00
Joerg Wunsch
72348d41ba sh(1) incorrectly ignored an EOF condition when looking for the
closing backquote in a `foo` substitution.

Discovered by: Martin Welk <mw@theatre.pandora.sax.de>
1995-08-11 08:18:39 +00:00
Andrey A. Chernov
cc684979ea Fix csh to determine event number properly, i.e. stop by ^*-% too.
This fix match with what manpage said and other systems csh's do.
Submitted by: Bill Fenner <fenner@parc.xerox.com>
1995-08-10 05:13:42 +00:00
Andrey A. Chernov
fc4a9baf50 Change ctime to strftime %c to use national date/time representation 1995-08-08 00:03:04 +00:00
Garrett Wollman
656dcd4316 Delete bogus referneces to timezone code internal header file `tzfile.h',
which is no longer bogusly installed in /usr/include.
1995-08-07 19:17:46 +00:00
Joerg Wunsch
78e1fb6090 Fix /bin/sh's broken handling of the builtin getopts(1). The options
``-ffoo'' and ``-f foo'' have been treated differently.

This has been in violation of Posix.2 (that deprecates -ffoo, but
doesn't disallow it).
1995-08-06 19:35:33 +00:00
Andrey A. Chernov
76f9ae3bfe Use %+ to print data using LC_TIME 1995-08-05 23:08:17 +00:00
Joerg Wunsch
2a353a9fb4 expr(1) didn't comply to Posix.2 and its own man page: any
comparisions have been made as string comparisions, even in cases
where both operands clearly qualified as integers.

The fix is to make the parser properly analyzing whether an operand is
a valid integer or not.
1995-08-04 17:08:07 +00:00
Rodney W. Grimes
65d3266d56 Set NOSHARED=true, having this binary static makes it much easier to
fix /usr/lib/*.so problems.

Submitted by:	davidg
1995-07-24 01:44:17 +00:00