* merge in OpenBSD

* rename cd34.iso to cdrom8.iso

XXX gzip/compress on ramdisk in MirOS should still
XXX	be able to compress and not only decompress
XXX	files. must be revisited
This commit is contained in:
tg 2003-12-23 13:41:51 +00:00
parent 18ea554a22
commit 5be773aea6
6 changed files with 76 additions and 50 deletions

View File

@ -1,11 +1,11 @@
/* $MirBSD: c_ulimit.c,v 1.2 2003/03/23 21:47:52 tg Exp $ */
/* $OpenBSD: c_ulimit.c,v 1.9 2002/06/09 05:47:27 todd Exp $ */
/* $MirBSD: c_ulimit.c,v 1.3 2003/12/23 13:41:48 tg Exp $ */
/* $OpenBSD: c_ulimit.c,v 1.10 2003/10/22 07:40:38 jmc Exp $ */
/*
ulimit -- handle "ulimit" builtin
Reworked to use getrusage() and ulimit() at once (as needed on
some schizophenic systems, eg, HP-UX 9.01), made argument parsing
some schizophrenic systems, eg, HP-UX 9.01), made argument parsing
conform to at&t ksh, added autoconf support. Michael Rendell, May, '94
Eric Gisin, September 1988

20
emacs.c
View File

@ -1,5 +1,5 @@
/* $MirBSD: emacs.c,v 1.6 2003/09/25 20:59:35 tg Exp $ */
/* $OpenBSD: emacs.c,v 1.27 2003/09/01 15:47:40 naddy Exp $ */
/* $MirBSD: emacs.c,v 1.7 2003/12/23 13:41:48 tg Exp $ */
/* $OpenBSD: emacs.c,v 1.28 2003/10/22 07:40:38 jmc Exp $ */
/*
* Emacs-like command line editing and history
@ -213,7 +213,7 @@ static const struct x_ftab x_ftab[] = {
{ x_yank, "yank", 0 },
{ x_comp_list, "complete-list", 0 },
{ x_expand, "expand-file", 0 },
{ x_fold_capitialize, "capitalize-word", XF_ARG },
{ x_fold_capitalize, "capitalize-word", XF_ARG },
{ x_fold_lower, "downcase-word", XF_ARG },
{ x_fold_upper, "upcase-word", XF_ARG },
{ x_set_arg, "set-arg", XF_NOBIND },
@ -308,8 +308,8 @@ static struct x_defbindings const x_defbindings[] = {
{ XFUNC_fold_upper, 1, 'u' },
{ XFUNC_fold_lower, 1, 'L' },
{ XFUNC_fold_lower, 1, 'l' },
{ XFUNC_fold_capitialize, 1, 'C' },
{ XFUNC_fold_capitialize, 1, 'c' },
{ XFUNC_fold_capitalize, 1, 'C' },
{ XFUNC_fold_capitalize, 1, 'c' },
#ifdef OS2
{ XFUNC_meta3, 0, 0xE0 },
{ XFUNC_mv_back, 3, 'K' },
@ -1136,7 +1136,7 @@ x_transpose(c)
* gnu emacs: abCd acbD abcd_ abdc_
* Pdksh currently goes with GNU behavior since I believe this is the
* most common version of emacs, unless in gmacs mode, in which case
* it does the at&t ksh gmacs mdoe.
* it does the at&t ksh gmacs mode.
* This should really be broken up into 3 functions so users can bind
* to the one they want.
*/
@ -2104,7 +2104,7 @@ x_fold_lower(c)
/* Lowercase N(1) words */
static int
x_fold_capitialize(c)
x_fold_capitalize(c)
int c;
{
return x_fold_case('C');
@ -2133,7 +2133,7 @@ x_fold_case(c)
}
while (x_arg--) {
/*
* fisrt skip over any white-space
* first skip over any white-space
*/
while (cp != xep && is_mfs(*cp))
cp++;
@ -2145,7 +2145,7 @@ x_fold_case(c)
if (c == 'L') { /* lowercase */
if (isupper(*cp))
*cp = tolower(*cp);
} else { /* uppercase, capitialize */
} else { /* uppercase, capitalize */
if (islower(*cp))
*cp = toupper(*cp);
}
@ -2158,7 +2158,7 @@ x_fold_case(c)
if (c == 'U') { /* uppercase */
if (islower(*cp))
*cp = toupper(*cp);
} else { /* lowercase, capitialize */
} else { /* lowercase, capitalize */
if (isupper(*cp))
*cp = tolower(*cp);
}

View File

@ -1,5 +1,5 @@
.\" $MirBSD: ksh.1tbl,v 1.10 2003/09/25 20:59:36 tg Exp $
.\" $OpenBSD: ksh.1tbl,v 1.58 2003/09/04 14:21:43 jmc Exp $
.\" $MirBSD: ksh.1tbl,v 1.11 2003/12/23 13:41:48 tg Exp $
.\" $OpenBSD: ksh.1tbl,v 1.62 2003/12/22 11:54:02 jmc Exp $
.\"
.\" Copyright (c) 1980, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@ -410,6 +410,19 @@ have equal precedence which is higher than that of
and
.Ql \&; ,
which also have equal precedence.
Note that the
.Ql &&
and
.Ql ||
operators are
.Qq left-associative .
For example, both of these commands will print only
.Qq bar :
.Bd -literal -offset indent
false && echo foo || echo bar
true || echo foo && echo bar
.Ed
.Pp
The
.Ql &
token causes the preceding command to be executed asynchronously; that is,
@ -1032,7 +1045,10 @@ Parameter substitutions take the form
.Ic ${ Ns Ar name Ns Ic \&} ,
or
.Sm off
.Ic ${ Ar name Oo Ar expr Oc Ic \&} ,
.Xo
.Ic ${ Ar name Oo Ar expr Oc
.Ic \&} ,
.Xc
.Sm on
where
.Ar name
@ -2474,7 +2490,10 @@ loop
.It
.Ic alias a='for ' i='j'
.It
.Ic a i in 1 2; do echo i=$i j=$j; done
.Xo
.Ic a i in 1 2; do echo i=$i j=$j;
.Ic done
.Xc
.El
.Pp
uses parameter
@ -2547,7 +2566,7 @@ Additional ksh special commands
Very special commands
.Pq Pf non- Tn POSIX
.Pp
.Ic alias , readonly , set , typset
.Ic alias , readonly , set , typeset
.Pp
.Tn POSIX
regular commands
@ -5122,6 +5141,22 @@ deleted and a new prompt to be printed.
.%D 1993
.%O "ISBN 1-55937-266-9"
.Re
.Sh VERSION
This page documents version @(#)PD KSH v5.2.14 99/07/13.2 of the public
domain Korn shell.
.Sh AUTHORS
This shell is based on the public domain 7th edition Bourne shell clone by
Charles Forsyth and parts of the BRL shell by Doug A. Gwyn, Doug Kingston,
Ron Natalie, Arnold Robbins, Lou Salkind, and others.
The first release of
.Nm pdksh
was created by Eric Gisin, and it was subsequently maintained by John R.
MacMillan (change!john@sq.sq.com) and Simon J. Gerraty (sjg@zen.void.oz.au).
The current maintainer is Michael Rendell (michael@cs.mun.ca).
The
.Pa CONTRIBUTORS
file in the source distribution contains a more complete list of people and
their part in the shell's development.
.Sh BUGS
Any bugs in
.Nm pdksh
@ -5154,19 +5189,3 @@ echo hi | read a; echo $a\ \ \ # Does not print hi
.Ed
.Pp
I'm aware of this and there is no need to report it.
.Sh VERSION
This page documents version @(#)PD KSH v5.2.14 99/07/13.2 of the public
domain Korn shell.
.Sh AUTHORS
This shell is based on the public domain 7th edition Bourne shell clone by
Charles Forsyth and parts of the BRL shell by Doug A. Gwyn, Doug Kingston,
Ron Natalie, Arnold Robbins, Lou Salkind, and others.
The first release of
.Nm pdksh
was created by Eric Gisin, and it was subsequently maintained by John R.
MacMillan (change!john@sq.sq.com) and Simon J. Gerraty (sjg@zen.void.oz.au).
The current maintainer is Michael Rendell (michael@cs.mun.ca).
The
.Pa CONTRIBUTORS
file in the source distribution contains a more complete list of people and
their part in the shell's development.

6
misc.c
View File

@ -1,5 +1,5 @@
/* $MirBSD: misc.c,v 1.4 2003/09/25 20:59:37 tg Exp $ */
/* $OpenBSD: misc.c,v 1.19 2003/09/01 15:47:40 naddy Exp $ */
/* $MirBSD: misc.c,v 1.5 2003/12/23 13:41:50 tg Exp $ */
/* $OpenBSD: misc.c,v 1.20 2003/10/22 07:40:38 jmc Exp $ */
/*
* Miscellaneous functions
@ -184,7 +184,7 @@ const struct option options[] = {
#endif
{ "xtrace", 'x', OF_ANY },
/* Anonymous flags: used internally by shell only
* (not visable to user)
* (not visible to user)
*/
{ (char *) 0, 0, OF_INTERNAL }, /* FTALKING_I */
};

12
sh.h
View File

@ -1,5 +1,5 @@
/* $MirBSD: sh.h,v 1.5 2003/09/25 20:59:37 tg Exp $ */
/* $OpenBSD: sh.h,v 1.14 2003/09/01 15:47:40 naddy Exp $ */
/* $MirBSD: sh.h,v 1.6 2003/12/23 13:41:50 tg Exp $ */
/* $OpenBSD: sh.h,v 1.15 2003/10/22 07:40:38 jmc Exp $ */
/*
* Public Domain Bourne/Korn shell
@ -483,7 +483,7 @@ enum sh_flag {
#endif
FIGNOREEOF, /* eof does not exit */
FTALKING, /* -i: interactive */
FKEYWORD, /* -k: name=value anywere */
FKEYWORD, /* -k: name=value anywhere */
FLOGIN, /* -l: a login shell */
FMARKDIRS, /* mark dirs with / in file name completion */
FMONITOR, /* -m: job control monitoring */
@ -500,7 +500,7 @@ enum sh_flag {
FPOSIX, /* -o posix: be posixly correct */
FPRIVILEGED, /* -p: use suid_profile */
FRESTRICTED, /* -r: restricted shell */
FSH, /* -o sh: favor sh behavour */
FSH, /* -o sh: favor sh behaviour */
FSTDIN, /* -s: (invocation) parse stdin */
FTRACKALL, /* -h: create tracked aliases for all commands */
FVERBOSE, /* -v: echo input */
@ -690,11 +690,11 @@ EXTERN char *current_wd;
EXTERN int current_wd_size;
#ifdef EDIT
/* Minimium required space to work with on a line - if the prompt leaves less
/* Minimum required space to work with on a line - if the prompt leaves less
* space than this on a line, the prompt is truncated.
*/
# define MIN_EDIT_SPACE 7
/* Minimium allowed value for x_cols: 2 for prompt, 3 for " < " at end of line
/* Minimum allowed value for x_cols: 2 for prompt, 3 for " < " at end of line
*/
# define MIN_COLS (2 + MIN_EDIT_SPACE + 3)
EXTERN int x_cols I__(80); /* tty columns */

21
vi.c
View File

@ -1,5 +1,5 @@
/* $MirBSD: vi.c,v 1.2 2003/04/12 14:32:14 tg Exp $ */
/* $OpenBSD: vi.c,v 1.11 2003/03/13 09:03:07 deraadt Exp $ */
/* $MirBSD: vi.c,v 1.3 2003/12/23 13:41:51 tg Exp $ */
/* $OpenBSD: vi.c,v 1.12 2003/10/16 22:08:48 millert Exp $ */
/*
* vi command editing
@ -239,7 +239,7 @@ x_vi(buf, len)
x_putc('\r'); x_putc('\n'); x_flush();
if (c == -1)
if (c == -1 || len <= es->linelen)
return -1;
if (es->cbuf != buf)
@ -463,15 +463,22 @@ vi_hook(ch)
else {
locpat[srchlen++] = ch;
if ((ch & 0x80) && Flag(FVISHOW8)) {
if (es->linelen + 2 > es->cbufsize)
vi_error();
es->cbuf[es->linelen++] = 'M';
es->cbuf[es->linelen++] = '-';
ch &= 0x7f;
}
if (ch < ' ' || ch == 0x7f) {
if (es->linelen + 2 > es->cbufsize)
vi_error();
es->cbuf[es->linelen++] = '^';
es->cbuf[es->linelen++] = ch ^ '@';
} else
} else {
if (es->linelen >= es->cbufsize)
vi_error();
es->cbuf[es->linelen++] = ch;
}
es->cursor = es->linelen;
refresh(0);
}
@ -694,7 +701,7 @@ vi_insert(ch)
/* End nonstandard vi commands } */
default:
if (es->linelen == es->cbufsize - 1)
if (es->linelen >= es->cbufsize - 1)
return -1;
ibuf[inslen++] = ch;
if (insert == INSERT) {
@ -1406,8 +1413,8 @@ save_edstate(old)
new = (struct edstate *)alloc(sizeof(struct edstate), APERM);
new->cbuf = alloc(old->cbufsize, APERM);
memcpy(new->cbuf, old->cbuf, old->linelen);
new->cbufsize = old->cbufsize;
strlcpy(new->cbuf, old->cbuf, new->cbufsize);
new->linelen = old->linelen;
new->cursor = old->cursor;
new->winleft = old->winleft;
@ -1418,7 +1425,7 @@ static void
restore_edstate(new, old)
struct edstate *old, *new;
{
strncpy(new->cbuf, old->cbuf, old->linelen);
memcpy(new->cbuf, old->cbuf, old->linelen);
new->linelen = old->linelen;
new->cursor = old->cursor;
new->winleft = old->winleft;