Initial revision
This commit is contained in:
2
Build.sh
2
Build.sh
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $MirBSD: Build.sh,v 1.18 2004/12/10 15:32:58 tg Exp $
|
# $MirBSD: src/bin/ksh/Build.sh,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
#-
|
#-
|
||||||
# Copyright (c) 2004
|
# Copyright (c) 2004
|
||||||
# Thorsten "mirabile" Glaser <tg@66h.42h.de>
|
# Thorsten "mirabile" Glaser <tg@66h.42h.de>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$MirBSD: CONTRIBUTORS,v 1.4 2004/06/02 15:06:49 tg Stab $
|
$MirBSD: src/bin/ksh/CONTRIBUTORS,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
$OpenBSD: CONTRIBUTORS,v 1.9 1999/07/14 13:37:23 millert Exp $
|
$OpenBSD: CONTRIBUTORS,v 1.9 1999/07/14 13:37:23 millert Exp $
|
||||||
|
|
||||||
This is a partial history of this shell gleened from old change logs and
|
This is a partial history of this shell gleened from old change logs and
|
||||||
|
2
Makefile
2
Makefile
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: Makefile,v 1.10 2004/11/10 17:13:10 tg Exp $
|
# $MirBSD: src/bin/ksh/Makefile,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: Makefile,v 1.18 2004/02/16 19:07:19 deraadt Exp $
|
# $OpenBSD: Makefile,v 1.18 2004/02/16 19:07:19 deraadt Exp $
|
||||||
|
|
||||||
PROG= ksh
|
PROG= ksh
|
||||||
|
2
NOTES
2
NOTES
@ -1,4 +1,4 @@
|
|||||||
$MirBSD: NOTES,v 1.3 2004/11/10 17:13:10 tg Exp $
|
$MirBSD: src/bin/ksh/NOTES,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
$OpenBSD: NOTES,v 1.9 2003/10/26 15:07:25 jmc Exp $
|
$OpenBSD: NOTES,v 1.9 2003/10/26 15:07:25 jmc Exp $
|
||||||
|
|
||||||
General features of at&t ksh88 that are not (yet) in pdksh:
|
General features of at&t ksh88 that are not (yet) in pdksh:
|
||||||
|
2
PROJECTS
2
PROJECTS
@ -1,4 +1,4 @@
|
|||||||
$MirBSD: PROJECTS,v 1.5 2004/11/10 17:13:10 tg Exp $
|
$MirBSD: src/bin/ksh/PROJECTS,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
$OpenBSD: PROJECTS,v 1.5 1999/07/14 13:37:23 millert Exp $
|
$OpenBSD: PROJECTS,v 1.5 1999/07/14 13:37:23 millert Exp $
|
||||||
|
|
||||||
|
|
||||||
|
2
README
2
README
@ -1,4 +1,4 @@
|
|||||||
$MirBSD: README,v 1.5 2004/11/10 17:22:12 tg Exp $
|
$MirBSD: src/bin/ksh/README,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
|
|
||||||
This is the README for mirbsdksh, developed as part of the MirBSD
|
This is the README for mirbsdksh, developed as part of the MirBSD
|
||||||
operating system at The MirOS Project, and produced portably.
|
operating system at The MirOS Project, and produced portably.
|
||||||
|
2
aclocal.m4
vendored
2
aclocal.m4
vendored
@ -1,4 +1,4 @@
|
|||||||
dnl $MirBSD: aclocal.m4,v 1.12 2004/12/10 15:22:19 tg Exp $
|
dnl $MirBSD: src/bin/ksh/aclocal.m4,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
dnl-
|
dnl-
|
||||||
dnl Copyright (c) 2004
|
dnl Copyright (c) 2004
|
||||||
dnl Thorsten "mirabile" Glaser <tg@66h.42h.de>
|
dnl Thorsten "mirabile" Glaser <tg@66h.42h.de>
|
||||||
|
2
alloc.c
2
alloc.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: alloc.c,v 1.6 2004/11/01 12:30:09 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/alloc.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: alloc.c,v 1.7 2004/02/19 18:51:17 deraadt Exp $ */
|
/* $OpenBSD: alloc.c,v 1.7 2004/02/19 18:51:17 deraadt Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
4
c_ksh.c
4
c_ksh.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: c_ksh.c,v 1.9 2004/10/28 11:53:39 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/c_ksh.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: c_ksh.c,v 1.18 2004/02/10 13:03:36 jmc Exp $ */
|
/* $OpenBSD: c_ksh.c,v 1.18 2004/02/10 13:03:36 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#include <sys/cygwin.h>
|
#include <sys/cygwin.h>
|
||||||
#endif /* __CYGWIN__ */
|
#endif /* __CYGWIN__ */
|
||||||
|
|
||||||
__RCSID("$MirBSD: c_ksh.c,v 1.9 2004/10/28 11:53:39 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/c_ksh.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
int
|
int
|
||||||
c_cd(char **wp)
|
c_cd(char **wp)
|
||||||
|
6
c_sh.c
6
c_sh.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: c_sh.c,v 1.8 2004/12/10 22:21:24 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/c_sh.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: c_sh.c,v 1.17 2003/03/13 09:03:07 deraadt Exp $ */
|
/* $OpenBSD: c_sh.c,v 1.17 2003/03/13 09:03:07 deraadt Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -10,7 +10,7 @@
|
|||||||
#include "ksh_time.h"
|
#include "ksh_time.h"
|
||||||
#include "ksh_times.h"
|
#include "ksh_times.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: c_sh.c,v 1.8 2004/12/10 22:21:24 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/c_sh.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
static char *clocktos(clock_t t);
|
static char *clocktos(clock_t t);
|
||||||
|
|
||||||
@ -540,7 +540,7 @@ c_exitreturn(char **wp)
|
|||||||
how = LSHELL;
|
how = LSHELL;
|
||||||
}
|
}
|
||||||
|
|
||||||
quitenv(NULL); /* get rid of any i/o redirections */
|
quitenv(); /* get rid of any i/o redirections */
|
||||||
unwind(how);
|
unwind(how);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
return 0;
|
return 0;
|
||||||
|
4
c_test.c
4
c_test.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: c_test.c,v 1.7 2004/10/28 11:53:39 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/c_test.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: c_test.c,v 1.10 2003/10/10 19:09:07 millert Exp $ */
|
/* $OpenBSD: c_test.c,v 1.10 2003/10/10 19:09:07 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -14,7 +14,7 @@
|
|||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
#include "c_test.h"
|
#include "c_test.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: c_test.c,v 1.7 2004/10/28 11:53:39 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/c_test.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* test(1) accepts the following grammar:
|
/* test(1) accepts the following grammar:
|
||||||
oexpr ::= aexpr | aexpr "-o" oexpr ;
|
oexpr ::= aexpr | aexpr "-o" oexpr ;
|
||||||
|
2
c_test.h
2
c_test.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: c_test.h,v 1.5 2004/10/28 11:53:40 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/c_test.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: c_test.h,v 1.2 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: c_test.h,v 1.2 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
#ifndef C_TEST_H
|
#ifndef C_TEST_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: c_ulimit.c,v 1.8 2004/10/28 11:53:40 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/c_ulimit.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: c_ulimit.c,v 1.10 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: c_ulimit.c,v 1.10 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -32,7 +32,7 @@ extern long ulimit();
|
|||||||
# endif /* HAVE_ULIMIT */
|
# endif /* HAVE_ULIMIT */
|
||||||
#endif /* HAVE_ULIMIT_H */
|
#endif /* HAVE_ULIMIT_H */
|
||||||
|
|
||||||
__RCSID("$MirBSD: c_ulimit.c,v 1.8 2004/10/28 11:53:40 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/c_ulimit.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#define SOFT 0x1
|
#define SOFT 0x1
|
||||||
#define HARD 0x2
|
#define HARD 0x2
|
||||||
|
4
chvt.c
4
chvt.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: chvt.c,v 1.6 2004/12/10 15:01:05 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/chvt.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2004
|
* Copyright (c) 2004
|
||||||
@ -24,7 +24,7 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: chvt.c,v 1.6 2004/12/10 15:01:05 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/chvt.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
char *
|
char *
|
||||||
chvt(char *f)
|
chvt(char *f)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: conf-end.h,v 1.9 2004/10/28 16:35:01 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/conf-end.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: conf-end.h,v 1.2 1996/08/25 12:37:58 downsj Exp $ */
|
/* $OpenBSD: conf-end.h,v 1.2 1996/08/25 12:37:58 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef CONF_END_H
|
#ifndef CONF_END_H
|
||||||
|
2
config.h
2
config.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: config.h,v 1.15 2004/12/10 15:01:05 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/config.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: config.h,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: config.h,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated automatically using autoconf version 2.13.20040919
|
# Generated automatically using autoconf version 2.13.20040919
|
||||||
# $MirBSD: configure,v 1.16 2004/12/10 15:32:58 tg Exp $
|
# $MirBSD: src/bin/ksh/configure,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 2004
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 2004
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
dnl $MirBSD: configure.in,v 1.10 2004/12/10 15:01:05 tg Exp $
|
dnl $MirBSD: src/bin/ksh/configure.in,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
dnl
|
dnl
|
||||||
dnl Process this file with autoconf to produce a configure script
|
dnl Process this file with autoconf to produce a configure script
|
||||||
dnl
|
dnl
|
||||||
|
4
edit.c
4
edit.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: edit.c,v 1.10 2004/10/28 11:53:41 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/edit.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: edit.c,v 1.18 2003/08/22 18:17:10 fgsch Exp $ */
|
/* $OpenBSD: edit.c,v 1.18 2003/08/22 18:17:10 fgsch Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -22,7 +22,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: edit.c,v 1.10 2004/10/28 11:53:41 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/edit.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#if defined(TIOCGWINSZ)
|
#if defined(TIOCGWINSZ)
|
||||||
static RETSIGTYPE x_sigwinch(int sig);
|
static RETSIGTYPE x_sigwinch(int sig);
|
||||||
|
2
edit.h
2
edit.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: edit.h,v 1.5 2004/10/28 11:53:41 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/edit.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: edit.h,v 1.3 1999/11/14 22:04:02 d Exp $ */
|
/* $OpenBSD: edit.h,v 1.3 1999/11/14 22:04:02 d Exp $ */
|
||||||
/* $From: edit.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $ */
|
/* $From: edit.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $ */
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $MirBSD: emacs-gen.sh,v 1.3 2004/10/28 11:11:17 tg Exp $
|
# $MirBSD: src/bin/ksh/emacs-gen.sh,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: emacs-gen.sh,v 1.1.1.1 1996/08/14 06:19:10 downsj Exp $
|
# $OpenBSD: emacs-gen.sh,v 1.1.1.1 1996/08/14 06:19:10 downsj Exp $
|
||||||
|
|
||||||
case $# in
|
case $# in
|
||||||
|
4
emacs.c
4
emacs.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: emacs.c,v 1.12 2004/10/28 11:53:41 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/emacs.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: emacs.c,v 1.28 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: emacs.c,v 1.28 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -19,7 +19,7 @@
|
|||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include "edit.h"
|
#include "edit.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: emacs.c,v 1.12 2004/10/28 11:53:41 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/emacs.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
static Area aedit;
|
static Area aedit;
|
||||||
#define AEDIT &aedit /* area for kill ring and macro defns */
|
#define AEDIT &aedit /* area for kill ring and macro defns */
|
||||||
|
9
eval.c
9
eval.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: eval.c,v 1.11 2004/12/10 22:21:25 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/eval.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: eval.c,v 1.16 2004/12/08 21:23:18 millert Exp $ */
|
/* $OpenBSD: eval.c,v 1.16 2004/12/08 21:23:18 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -10,7 +10,7 @@
|
|||||||
#include "ksh_dir.h"
|
#include "ksh_dir.h"
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: eval.c,v 1.11 2004/12/10 22:21:25 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/eval.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* string expansion
|
* string expansion
|
||||||
@ -287,12 +287,12 @@ expand(char *cp, XPtrV *wp, int f)
|
|||||||
char endc;
|
char endc;
|
||||||
char *str, *end;
|
char *str, *end;
|
||||||
|
|
||||||
sp = varname - 2; /* restore sp */
|
|
||||||
end = (char *) wdscan(sp, CSUBST);
|
end = (char *) wdscan(sp, CSUBST);
|
||||||
/* ({) the } or x is already skipped */
|
/* ({) the } or x is already skipped */
|
||||||
endc = *end;
|
endc = *end;
|
||||||
*end = EOS;
|
*end = EOS;
|
||||||
str = snptreef(NULL, 64, "%S", sp);
|
str = snptreef((char *) 0, 64, "%S",
|
||||||
|
varname - 1);
|
||||||
*end = endc;
|
*end = endc;
|
||||||
errorf("%s: bad substitution", str);
|
errorf("%s: bad substitution", str);
|
||||||
}
|
}
|
||||||
@ -801,7 +801,6 @@ varsub(Expand *xp, char *sp, char *word, int *stypep, int *slenp)
|
|||||||
case '=': /* can't assign to a vector */
|
case '=': /* can't assign to a vector */
|
||||||
case '%': /* can't trim a vector (yet) */
|
case '%': /* can't trim a vector (yet) */
|
||||||
case '#':
|
case '#':
|
||||||
case '?':
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
XPinit(wv, 32);
|
XPinit(wv, 32);
|
||||||
|
21
exec.c
21
exec.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: exec.c,v 1.7 2004/12/10 22:21:25 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/exec.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: exec.c,v 1.31 2003/12/15 05:25:52 otto Exp $ */
|
/* $OpenBSD: exec.c,v 1.31 2003/12/15 05:25:52 otto Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -10,7 +10,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: exec.c,v 1.7 2004/12/10 22:21:25 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/exec.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* Does ps4 get parameter substitutions done? */
|
/* Does ps4 get parameter substitutions done? */
|
||||||
#ifdef KSH
|
#ifdef KSH
|
||||||
@ -215,7 +215,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||||||
i = ksh_sigsetjmp(e->jbuf, 0);
|
i = ksh_sigsetjmp(e->jbuf, 0);
|
||||||
if (i) {
|
if (i) {
|
||||||
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
unwind(i);
|
unwind(i);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
@ -321,7 +321,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||||||
if ((e->flags&EF_BRKCONT_PASS)
|
if ((e->flags&EF_BRKCONT_PASS)
|
||||||
|| (i != LBREAK && i != LCONTIN))
|
|| (i != LBREAK && i != LCONTIN))
|
||||||
{
|
{
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
unwind(i);
|
unwind(i);
|
||||||
} else if (i == LBREAK) {
|
} else if (i == LBREAK) {
|
||||||
rv = 0;
|
rv = 0;
|
||||||
@ -361,7 +361,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||||||
if ((e->flags&EF_BRKCONT_PASS)
|
if ((e->flags&EF_BRKCONT_PASS)
|
||||||
|| (i != LBREAK && i != LCONTIN))
|
|| (i != LBREAK && i != LCONTIN))
|
||||||
{
|
{
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
unwind(i);
|
unwind(i);
|
||||||
} else if (i == LBREAK) {
|
} else if (i == LBREAK) {
|
||||||
rv = 0;
|
rv = 0;
|
||||||
@ -431,7 +431,7 @@ execute(struct op *volatile t, volatile int flags)
|
|||||||
Break:
|
Break:
|
||||||
exstat = rv;
|
exstat = rv;
|
||||||
|
|
||||||
quitenv(NULL); /* restores IO */
|
quitenv(); /* restores IO */
|
||||||
if ((flags&XEXEC))
|
if ((flags&XEXEC))
|
||||||
unwind(LEXIT); /* exit child */
|
unwind(LEXIT); /* exit child */
|
||||||
if (rv != 0 && !(flags & XERROK)) {
|
if (rv != 0 && !(flags & XERROK)) {
|
||||||
@ -686,11 +686,11 @@ comexec(struct op *t, struct tbl *volatile tp, char **ap, volatile int flags)
|
|||||||
case LEXIT:
|
case LEXIT:
|
||||||
case LLEAVE:
|
case LLEAVE:
|
||||||
case LSHELL:
|
case LSHELL:
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
unwind(i);
|
unwind(i);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
default:
|
default:
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
internal_errorf(1, "CFUNC %d", i);
|
internal_errorf(1, "CFUNC %d", i);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1453,7 +1453,8 @@ herein(const char *content, int sub)
|
|||||||
i = ksh_sigsetjmp(e->jbuf, 0);
|
i = ksh_sigsetjmp(e->jbuf, 0);
|
||||||
if (i) {
|
if (i) {
|
||||||
source = osource;
|
source = osource;
|
||||||
quitenv(shf);
|
quitenv();
|
||||||
|
shf_close(shf); /* after quitenv */
|
||||||
close(fd);
|
close(fd);
|
||||||
return -2; /* special to iosetup(): don't print error */
|
return -2; /* special to iosetup(): don't print error */
|
||||||
}
|
}
|
||||||
@ -1469,7 +1470,7 @@ herein(const char *content, int sub)
|
|||||||
} else
|
} else
|
||||||
shf_puts(content, shf);
|
shf_puts(content, shf);
|
||||||
|
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
|
|
||||||
if (shf_close(shf) == EOF) {
|
if (shf_close(shf) == EOF) {
|
||||||
close(fd);
|
close(fd);
|
||||||
|
2
expand.h
2
expand.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: expand.h,v 1.6 2004/10/28 11:53:41 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/expand.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: expand.h,v 1.3 2001/03/26 16:19:45 todd Exp $ */
|
/* $OpenBSD: expand.h,v 1.3 2001/03/26 16:19:45 todd Exp $ */
|
||||||
|
|
||||||
#ifndef EXPAND_H
|
#ifndef EXPAND_H
|
||||||
|
8
expr.c
8
expr.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: expr.c,v 1.8 2004/12/10 22:21:25 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/expr.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: expr.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: expr.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -8,7 +8,7 @@
|
|||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
__RCSID("$MirBSD: expr.c,v 1.8 2004/12/10 22:21:25 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/expr.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* The order of these enums is constrained by the order of opinfo[] */
|
/* The order of these enums is constrained by the order of opinfo[] */
|
||||||
enum token {
|
enum token {
|
||||||
@ -176,7 +176,7 @@ v_evaluate(struct tbl *vp, const char *expr, volatile int error_ok)
|
|||||||
/* Clear EXPRINEVAL in of any variables we were playing with */
|
/* Clear EXPRINEVAL in of any variables we were playing with */
|
||||||
if (curstate.evaling)
|
if (curstate.evaling)
|
||||||
curstate.evaling->flag &= ~EXPRINEVAL;
|
curstate.evaling->flag &= ~EXPRINEVAL;
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
if (i == LAEXPR) {
|
if (i == LAEXPR) {
|
||||||
if (error_ok == KSH_RETURN_ERROR)
|
if (error_ok == KSH_RETURN_ERROR)
|
||||||
return 0;
|
return 0;
|
||||||
@ -202,7 +202,7 @@ v_evaluate(struct tbl *vp, const char *expr, volatile int error_ok)
|
|||||||
/* can fail if readonly */
|
/* can fail if readonly */
|
||||||
setstr(vp, str_val(v), error_ok);
|
setstr(vp, str_val(v), error_ok);
|
||||||
|
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: history.c,v 1.14 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/history.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: history.c,v 1.24 2004/08/03 12:44:59 danh Exp $ */
|
/* $OpenBSD: history.c,v 1.24 2004/08/03 12:44:59 danh Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -21,7 +21,7 @@
|
|||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: history.c,v 1.14 2004/10/28 11:53:42 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/history.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#ifdef HISTORY
|
#ifdef HISTORY
|
||||||
# ifdef EASY_HISTORY
|
# ifdef EASY_HISTORY
|
||||||
|
2
io.c
2
io.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: io.c,v 1.7 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/io.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: io.c,v 1.13 2003/11/10 21:26:39 millert Exp $ */
|
/* $OpenBSD: io.c,v 1.13 2003/11/10 21:26:39 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
4
jobs.c
4
jobs.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: jobs.c,v 1.8 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/jobs.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: jobs.c,v 1.21 2003/11/10 21:26:39 millert Exp $ */
|
/* $OpenBSD: jobs.c,v 1.21 2003/11/10 21:26:39 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -31,7 +31,7 @@
|
|||||||
#include "ksh_times.h"
|
#include "ksh_times.h"
|
||||||
#include "tty.h"
|
#include "tty.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: jobs.c,v 1.8 2004/10/28 11:53:42 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/jobs.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* Start of system configuration stuff */
|
/* Start of system configuration stuff */
|
||||||
|
|
||||||
|
2
ksh.1tbl
2
ksh.1tbl
@ -1,4 +1,4 @@
|
|||||||
.\" $MirBSD: ksh.1tbl,v 1.45 2004/12/10 16:01:34 tg Exp $
|
.\" $MirBSD: src/bin/ksh/ksh.1tbl,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
.\" $OpenBSD: ksh.1tbl,v 1.79 2004/12/04 07:05:13 jaredy Exp $
|
.\" $OpenBSD: ksh.1tbl,v 1.79 2004/12/04 07:05:13 jaredy Exp $
|
||||||
.\" $OpenBSD: sh.1tbl,v 1.52 2004/11/09 21:56:54 jmc Exp $
|
.\" $OpenBSD: sh.1tbl,v 1.52 2004/11/09 21:56:54 jmc Exp $
|
||||||
.\"
|
.\"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_dir.h,v 1.5 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_dir.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_dir.h,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $ */
|
/* $OpenBSD: ksh_dir.h,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_DIR_H
|
#ifndef KSH_DIR_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_limval.h,v 1.4 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_limval.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_limval.h,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $ */
|
/* $OpenBSD: ksh_limval.h,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_LIMVAL_H
|
#ifndef KSH_LIMVAL_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_stat.h,v 1.5 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_stat.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_stat.h,v 1.3 1996/10/01 02:05:39 downsj Exp $ */
|
/* $OpenBSD: ksh_stat.h,v 1.3 1996/10/01 02:05:39 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_STAT_H
|
#ifndef KSH_STAT_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_time.h,v 1.5 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_time.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_time.h,v 1.2 1996/10/01 02:05:40 downsj Exp $ */
|
/* $OpenBSD: ksh_time.h,v 1.2 1996/10/01 02:05:40 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_TIME_H
|
#ifndef KSH_TIME_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_times.h,v 1.5 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_times.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_times.h,v 1.2 1996/10/01 02:05:41 downsj Exp $ */
|
/* $OpenBSD: ksh_times.h,v 1.2 1996/10/01 02:05:41 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_TIMES_H
|
#ifndef KSH_TIMES_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: ksh_wait.h,v 1.4 2004/10/28 11:53:42 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/ksh_wait.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: ksh_wait.h,v 1.3 1997/06/19 13:58:43 kstailey Exp $ */
|
/* $OpenBSD: ksh_wait.h,v 1.3 1997/06/19 13:58:43 kstailey Exp $ */
|
||||||
|
|
||||||
#ifndef KSH_WAIT_H
|
#ifndef KSH_WAIT_H
|
||||||
|
6
lex.c
6
lex.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: lex.c,v 1.8 2004/12/10 22:21:25 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/lex.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: lex.c,v 1.18 2003/08/06 21:08:05 millert Exp $ */
|
/* $OpenBSD: lex.c,v 1.18 2003/08/06 21:08:05 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -8,7 +8,7 @@
|
|||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
__RCSID("$MirBSD: lex.c,v 1.8 2004/12/10 22:21:25 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/lex.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* Structure to keep track of the lexing state and the various pieces of info
|
/* Structure to keep track of the lexing state and the various pieces of info
|
||||||
* needed for each particular state.
|
* needed for each particular state.
|
||||||
@ -1140,7 +1140,7 @@ set_prompt(int to, Source *s)
|
|||||||
} else
|
} else
|
||||||
prompt = str_save(substitute(ps1, 0),
|
prompt = str_save(substitute(ps1, 0),
|
||||||
saved_atemp);
|
saved_atemp);
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
}
|
}
|
||||||
#else /* KSH */
|
#else /* KSH */
|
||||||
prompt = str_val(global("PS1"));
|
prompt = str_val(global("PS1"));
|
||||||
|
2
lex.h
2
lex.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: lex.h,v 1.5 2004/11/03 15:33:01 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/lex.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: lex.h,v 1.8 2004/11/02 22:09:24 deraadt Exp $ */
|
/* $OpenBSD: lex.h,v 1.8 2004/11/02 22:09:24 deraadt Exp $ */
|
||||||
/* $From: lex.h,v 1.4 1994/05/31 13:34:34 michael Exp $ */
|
/* $From: lex.h,v 1.4 1994/05/31 13:34:34 michael Exp $ */
|
||||||
|
|
||||||
|
28
main.c
28
main.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: main.c,v 1.16 2004/12/10 22:21:25 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/main.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: main.c,v 1.28 2004/08/23 14:56:32 millert Exp $ */
|
/* $OpenBSD: main.c,v 1.28 2004/08/23 14:56:32 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -11,7 +11,7 @@
|
|||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
#include "ksh_time.h"
|
#include "ksh_time.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: main.c,v 1.16 2004/12/10 22:21:25 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/main.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
extern char **environ;
|
extern char **environ;
|
||||||
|
|
||||||
@ -479,7 +479,9 @@ include(const char *name, int argc, char **argv, int intr_ok)
|
|||||||
newenv(E_INCL);
|
newenv(E_INCL);
|
||||||
i = ksh_sigsetjmp(e->jbuf, 0);
|
i = ksh_sigsetjmp(e->jbuf, 0);
|
||||||
if (i) {
|
if (i) {
|
||||||
quitenv(s ? s->u.shf : NULL);
|
if (s) /* Do this before quitenv(), which frees the memory */
|
||||||
|
shf_close(s->u.shf);
|
||||||
|
quitenv();
|
||||||
if (old_argv) {
|
if (old_argv) {
|
||||||
e->loc->argv = old_argv;
|
e->loc->argv = old_argv;
|
||||||
e->loc->argc = old_argc;
|
e->loc->argc = old_argc;
|
||||||
@ -513,7 +515,8 @@ include(const char *name, int argc, char **argv, int intr_ok)
|
|||||||
s->u.shf = shf;
|
s->u.shf = shf;
|
||||||
s->file = str_save(name, ATEMP);
|
s->file = str_save(name, ATEMP);
|
||||||
i = shell(s, FALSE);
|
i = shell(s, FALSE);
|
||||||
quitenv(s->u.shf);
|
shf_close(s->u.shf);
|
||||||
|
quitenv();
|
||||||
if (old_argv) {
|
if (old_argv) {
|
||||||
e->loc->argv = old_argv;
|
e->loc->argv = old_argv;
|
||||||
e->loc->argc = old_argc;
|
e->loc->argc = old_argc;
|
||||||
@ -579,12 +582,12 @@ shell(Source *volatile s, volatile int toplevel)
|
|||||||
case LLEAVE:
|
case LLEAVE:
|
||||||
case LRETURN:
|
case LRETURN:
|
||||||
source = old_source;
|
source = old_source;
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
unwind(i); /* keep on going */
|
unwind(i); /* keep on going */
|
||||||
/*NOREACHED*/
|
/*NOREACHED*/
|
||||||
default:
|
default:
|
||||||
source = old_source;
|
source = old_source;
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
internal_errorf(1, "shell: %d", i);
|
internal_errorf(1, "shell: %d", i);
|
||||||
/*NOREACHED*/
|
/*NOREACHED*/
|
||||||
}
|
}
|
||||||
@ -636,7 +639,7 @@ shell(Source *volatile s, volatile int toplevel)
|
|||||||
|
|
||||||
reclaim();
|
reclaim();
|
||||||
}
|
}
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
source = old_source;
|
source = old_source;
|
||||||
return exstat;
|
return exstat;
|
||||||
}
|
}
|
||||||
@ -671,7 +674,7 @@ unwind(int i)
|
|||||||
/* Fall through... */
|
/* Fall through... */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
quitenv(NULL);
|
quitenv();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -693,7 +696,7 @@ newenv(int type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
quitenv(struct shf *shf)
|
quitenv(void)
|
||||||
{
|
{
|
||||||
struct env *ep = e;
|
struct env *ep = e;
|
||||||
int fd;
|
int fd;
|
||||||
@ -708,6 +711,7 @@ quitenv(struct shf *shf)
|
|||||||
if (ep->savefd[2]) /* Clear any write errors */
|
if (ep->savefd[2]) /* Clear any write errors */
|
||||||
shf_reopen(2, SHF_WR, shl_out);
|
shf_reopen(2, SHF_WR, shl_out);
|
||||||
}
|
}
|
||||||
|
reclaim();
|
||||||
|
|
||||||
/* Bottom of the stack.
|
/* Bottom of the stack.
|
||||||
* Either main shell is exiting or cleanup_parents_env() was called.
|
* Either main shell is exiting or cleanup_parents_env() was called.
|
||||||
@ -736,14 +740,8 @@ quitenv(struct shf *shf)
|
|||||||
chmem_allfree();
|
chmem_allfree();
|
||||||
#endif /* MEM_DEBUG */
|
#endif /* MEM_DEBUG */
|
||||||
}
|
}
|
||||||
if (shf)
|
|
||||||
shf_close(shf);
|
|
||||||
reclaim();
|
|
||||||
exit(exstat);
|
exit(exstat);
|
||||||
}
|
}
|
||||||
if (shf)
|
|
||||||
shf_close(shf);
|
|
||||||
reclaim();
|
|
||||||
|
|
||||||
e = e->oenv;
|
e = e->oenv;
|
||||||
afree(ep, ATEMP);
|
afree(ep, ATEMP);
|
||||||
|
4
misc.c
4
misc.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: misc.c,v 1.14 2004/10/31 23:01:18 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/misc.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: misc.c,v 1.20 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: misc.c,v 1.20 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -11,7 +11,7 @@
|
|||||||
# include <limits.h>
|
# include <limits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirBSD: misc.c,v 1.14 2004/10/31 23:01:18 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/misc.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#ifndef UCHAR_MAX
|
#ifndef UCHAR_MAX
|
||||||
# define UCHAR_MAX 0xFF
|
# define UCHAR_MAX 0xFF
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: missing.c,v 1.3 2004/09/21 11:57:13 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/missing.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: missing.c,v 1.5 2003/05/16 18:49:46 jsyn Exp $ */
|
/* $OpenBSD: missing.c,v 1.5 2003/05/16 18:49:46 jsyn Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
4
path.c
4
path.c
@ -1,10 +1,10 @@
|
|||||||
/** $MirBSD: path.c,v 1.7 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/path.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: path.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: path.c,v 1.9 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: path.c,v 1.7 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/path.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Contains a routine to search a : separated list of
|
* Contains a routine to search a : separated list of
|
||||||
|
4
proto.h
4
proto.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: proto.h,v 1.11 2004/12/10 22:21:26 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/proto.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: proto.h,v 1.11 2003/05/16 19:58:57 jsyn Exp $ */
|
/* $OpenBSD: proto.h,v 1.11 2003/05/16 19:58:57 jsyn Exp $ */
|
||||||
/* $From: proto.h,v 1.3 1994/05/19 18:32:40 michael Exp michael $ */
|
/* $From: proto.h,v 1.3 1994/05/19 18:32:40 michael Exp michael $ */
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ int command(const char *comm);
|
|||||||
int shell(Source *volatile s, int volatile toplevel);
|
int shell(Source *volatile s, int volatile toplevel);
|
||||||
void unwind(int i) GCC_FUNC_ATTR(noreturn);
|
void unwind(int i) GCC_FUNC_ATTR(noreturn);
|
||||||
void newenv(int type);
|
void newenv(int type);
|
||||||
void quitenv(struct shf *shf);
|
void quitenv(void);
|
||||||
void cleanup_parents_env(void);
|
void cleanup_parents_env(void);
|
||||||
void cleanup_proc_env(void);
|
void cleanup_proc_env(void);
|
||||||
void aerror(Area *ap, const char *msg)
|
void aerror(Area *ap, const char *msg)
|
||||||
|
4
rnd.c
4
rnd.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: rnd.c,v 1.8 2004/12/05 16:10:58 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/rnd.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2004
|
* Copyright (c) 2004
|
||||||
@ -23,7 +23,7 @@
|
|||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include "proto.h"
|
#include "proto.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: rnd.c,v 1.8 2004/12/05 16:10:58 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/rnd.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#ifndef HAVE_SRANDOM
|
#ifndef HAVE_SRANDOM
|
||||||
#undef HAVE_RANDOM
|
#undef HAVE_RANDOM
|
||||||
|
2
sh.1tbl
2
sh.1tbl
@ -1,4 +1,4 @@
|
|||||||
.\" $MirBSD: sh.1tbl,v 1.11 2004/11/10 17:22:13 tg Exp $
|
.\" $MirBSD: src/bin/ksh/sh.1tbl,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
.\" _MirBSD: src/bin/ksh/ksh.1tbl,v 1.41 2004/11/10 17:18:29 tg Exp $
|
.\" _MirBSD: src/bin/ksh/ksh.1tbl,v 1.41 2004/11/10 17:18:29 tg Exp $
|
||||||
.\" $OpenBSD: ksh.1tbl,v 1.78 2004/11/08 23:42:02 jmc Exp $
|
.\" $OpenBSD: ksh.1tbl,v 1.78 2004/11/08 23:42:02 jmc Exp $
|
||||||
.\" $OpenBSD: sh.1tbl,v 1.52 2004/11/09 21:56:54 jmc Exp $
|
.\" $OpenBSD: sh.1tbl,v 1.52 2004/11/09 21:56:54 jmc Exp $
|
||||||
|
2
sh.h
2
sh.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: sh.h,v 1.19 2004/11/10 19:58:06 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/sh.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: sh.h,v 1.18 2004/05/31 10:36:35 otto Exp $ */
|
/* $OpenBSD: sh.h,v 1.18 2004/05/31 10:36:35 otto Exp $ */
|
||||||
|
|
||||||
#ifndef SH_H
|
#ifndef SH_H
|
||||||
|
4
shf.c
4
shf.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: shf.c,v 1.6 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/shf.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: shf.c,v 1.8 2003/02/28 09:45:09 jmc Exp $ */
|
/* $OpenBSD: shf.c,v 1.8 2003/02/28 09:45:09 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -9,7 +9,7 @@
|
|||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
#include "ksh_limval.h"
|
#include "ksh_limval.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: shf.c,v 1.6 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/shf.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* flags to shf_emptybuf() */
|
/* flags to shf_emptybuf() */
|
||||||
#define EB_READSW 0x01 /* about to switch to reading */
|
#define EB_READSW 0x01 /* about to switch to reading */
|
||||||
|
2
shf.h
2
shf.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: shf.h,v 1.5 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/shf.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: shf.h,v 1.2 1999/01/08 20:25:02 millert Exp $ */
|
/* $OpenBSD: shf.h,v 1.2 1999/01/08 20:25:02 millert Exp $ */
|
||||||
|
|
||||||
#ifndef SHF_H
|
#ifndef SHF_H
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: siglist.in,v 1.2 2004/05/24 19:56:18 tg Stab $
|
# $MirBSD: src/bin/ksh/siglist.in,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: siglist.in,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $
|
# $OpenBSD: siglist.in,v 1.1.1.1 1996/08/14 06:19:11 downsj Exp $
|
||||||
#
|
#
|
||||||
# List of signals used to initialize ksh's signal table (see trap.c
|
# List of signals used to initialize ksh's signal table (see trap.c
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $MirBSD: siglist.sh,v 1.3 2004/10/28 11:03:24 tg Exp $
|
# $MirBSD: src/bin/ksh/siglist.sh,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: siglist.sh,v 1.4 1997/06/19 13:58:47 kstailey Exp $
|
# $OpenBSD: siglist.sh,v 1.4 1997/06/19 13:58:47 kstailey Exp $
|
||||||
#
|
#
|
||||||
# Script to generate a sorted, complete list of signals, suitable
|
# Script to generate a sorted, complete list of signals, suitable
|
||||||
|
129
strlfun.c
Normal file
129
strlfun.c
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
/** $MirBSD: src/bin/ksh/strlfun.c,v 1.1 2004/12/10 18:12:29 tg Exp $ */
|
||||||
|
/** _MirBSD: src/lib/libc/string/strlfun.c,v 1.7 2004/12/05 16:07:53 tg Exp $ */
|
||||||
|
/* $OpenBSD: strlcpy.c,v 1.8 2003/06/17 21:56:24 millert Exp $ */
|
||||||
|
/* $OpenBSD: strlcat.c,v 1.11 2003/06/17 21:56:24 millert Exp $ */
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* Copyright (c) 2004
|
||||||
|
* Thorsten "mirabile" Glaser <tg@66h.42h.de>
|
||||||
|
*
|
||||||
|
* Licensee is hereby permitted to deal in this work without restric-
|
||||||
|
* tion, including unlimited rights to use, publicly perform, modify,
|
||||||
|
* merge, distribute, sell, give away or sublicence, provided all co-
|
||||||
|
* pyright notices above, these terms and the disclaimer are retained
|
||||||
|
* in all redistributions or reproduced in accompanying documentation
|
||||||
|
* or other materials provided with binary redistributions.
|
||||||
|
*
|
||||||
|
* Licensor hereby provides this work "AS IS" and WITHOUT WARRANTY of
|
||||||
|
* any kind, expressed or implied, to the maximum extent permitted by
|
||||||
|
* applicable law, but with the warranty of being written without ma-
|
||||||
|
* licious intent or gross negligence; in no event shall licensor, an
|
||||||
|
* author or contributor be held liable for any damage, direct, indi-
|
||||||
|
* rect or other, however caused, arising in any way out of the usage
|
||||||
|
* of this work, even if advised of the possibility of such damage.
|
||||||
|
*-
|
||||||
|
* Implementation for most of this code by myself.
|
||||||
|
* Some optimisation ideas from Bodo Eggert (via d.a.s.r).
|
||||||
|
* The rest of the code is covered by the terms below:
|
||||||
|
*-
|
||||||
|
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
/* packaged with third-party software */
|
||||||
|
#include "config.h"
|
||||||
|
#define LIBC_SCCS
|
||||||
|
#else /* ! def HAVE_CONFIG_H */
|
||||||
|
/* integrated into MirOS C library */
|
||||||
|
#undef HAVE_STRLCPY
|
||||||
|
#undef HAVE_STRLCAT
|
||||||
|
#endif /* ! def HAVE_CONFIG_H */
|
||||||
|
|
||||||
|
#ifndef __RCSID
|
||||||
|
#define __RCSID(x) static const char __rcsid[] = (x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
__RCSID("$MirBSD: src/bin/ksh/strlfun.c,v 1.1 2004/12/10 18:12:29 tg Exp $");
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef HAVE_STRLCPY
|
||||||
|
/*
|
||||||
|
* Copy src to string dst of size siz. At most siz-1 characters
|
||||||
|
* will be copied. Always NUL terminates (unless siz == 0).
|
||||||
|
* Returns strlen(src); if retval >= siz, truncation occurred.
|
||||||
|
*/
|
||||||
|
size_t
|
||||||
|
strlcpy(char *dst, const char *src, size_t siz)
|
||||||
|
{
|
||||||
|
const char *s = src;
|
||||||
|
|
||||||
|
if (!siz) goto traverse_src;
|
||||||
|
|
||||||
|
/* Copy as many bytes as will fit */
|
||||||
|
for (; --siz && (*dst++ = *s++); /* nothing */)
|
||||||
|
;
|
||||||
|
|
||||||
|
/* Not enough room in dst, add NUL and traverse rest of src */
|
||||||
|
if (!siz) {
|
||||||
|
/* Save, since we've copied at max. (siz-1) characters */
|
||||||
|
*dst = '\0'; /* NUL-terminate dst */
|
||||||
|
traverse_src:
|
||||||
|
while (*s++)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (s - src - 1); /* count does not include NUL */
|
||||||
|
}
|
||||||
|
#endif /* ndef HAVE_STRLCPY */
|
||||||
|
|
||||||
|
#ifndef HAVE_STRLCAT
|
||||||
|
/*
|
||||||
|
* Appends src to string dst of size siz (unlike strncat, siz is the
|
||||||
|
* full size of dst, not space left). At most siz-1 characters
|
||||||
|
* will be copied. Always NUL terminates (unless siz <= strlen(dst)).
|
||||||
|
* Returns strlen(src) + MIN(siz, strlen(initial dst)).
|
||||||
|
* If retval >= siz, truncation occurred.
|
||||||
|
*/
|
||||||
|
size_t
|
||||||
|
strlcat(char *dst, const char *src, size_t siz)
|
||||||
|
{
|
||||||
|
char *d = dst;
|
||||||
|
size_t dl, n = siz;
|
||||||
|
const size_t sl = strlen(src);
|
||||||
|
|
||||||
|
while (n-- && (*d++ != '\0'))
|
||||||
|
;
|
||||||
|
if (!++n && (*d != '\0'))
|
||||||
|
return strlen(src);
|
||||||
|
|
||||||
|
dl = --d - dst; /* original strlen(dst), max. siz-1 */
|
||||||
|
n = siz - dl;
|
||||||
|
dl += sl;
|
||||||
|
|
||||||
|
if (!n--)
|
||||||
|
return dl;
|
||||||
|
|
||||||
|
if (n > sl)
|
||||||
|
n = sl; /* number of octets to copy */
|
||||||
|
for (; n-- && (*d++ = *src++); /* nothing */)
|
||||||
|
;
|
||||||
|
*d = '\0'; /* NUL-terminate dst */
|
||||||
|
return dl;
|
||||||
|
}
|
||||||
|
#endif /* ndef HAVE_STRLCAT */
|
4
syn.c
4
syn.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: syn.c,v 1.7 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/syn.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: syn.c,v 1.14 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: syn.c,v 1.14 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -8,7 +8,7 @@
|
|||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include "c_test.h"
|
#include "c_test.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: syn.c,v 1.7 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/syn.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
struct nesting_state {
|
struct nesting_state {
|
||||||
int start_token; /* token than began nesting (eg, FOR) */
|
int start_token; /* token than began nesting (eg, FOR) */
|
||||||
|
4
table.c
4
table.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: table.c,v 1.6 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/table.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: table.c,v 1.5 1999/01/10 17:55:03 millert Exp $ */
|
/* $OpenBSD: table.c,v 1.5 1999/01/10 17:55:03 millert Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: table.c,v 1.6 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/table.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#define INIT_TBLS 8 /* initial table size (power of 2) */
|
#define INIT_TBLS 8 /* initial table size (power of 2) */
|
||||||
|
|
||||||
|
2
table.h
2
table.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: table.h,v 1.6 2004/11/10 17:13:11 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/table.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: table.h,v 1.5 1999/06/15 01:18:36 millert Exp $ */
|
/* $OpenBSD: table.h,v 1.5 1999/06/15 01:18:36 millert Exp $ */
|
||||||
/* $From: table.h,v 1.3 1994/05/31 13:34:34 michael Exp $ */
|
/* $From: table.h,v 1.3 1994/05/31 13:34:34 michael Exp $ */
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: bksl-nl.t,v 1.3 2004/11/01 12:27:22 tg Exp $
|
# $MirBSD: src/bin/ksh/tests/bksl-nl.t,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
||||||
#
|
#
|
||||||
# These tests deal with how \newline is handled in various situations. The
|
# These tests deal with how \newline is handled in various situations. The
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: history.t,v 1.2 2004/05/24 19:56:25 tg Stab $
|
# $MirBSD: src/bin/ksh/tests/history.t,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
||||||
#
|
#
|
||||||
# Not tested yet:
|
# Not tested yet:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: read.t,v 1.2 2004/05/24 19:56:25 tg Stab $
|
# $MirBSD: src/bin/ksh/tests/read.t,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
||||||
#
|
#
|
||||||
# To test:
|
# To test:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $MirBSD: regress.t,v 1.2 2004/05/24 19:56:25 tg Stab $
|
# $MirBSD: src/bin/ksh/tests/regress.t,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: regress.t,v 1.12 2003/11/08 19:17:27 jmc Exp $
|
# $OpenBSD: regress.t,v 1.12 2003/11/08 19:17:27 jmc Exp $
|
||||||
#
|
#
|
||||||
# The first 39 of these tests are from the old Bugs script.
|
# The first 39 of these tests are from the old Bugs script.
|
||||||
|
2
tests/th
2
tests/th
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
# $MirBSD: th,v 1.2 2004/05/24 19:56:25 tg Stab $
|
# $MirBSD: src/bin/ksh/tests/th,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: th,v 1.10 2003/09/01 05:16:46 fgsch Exp $
|
# $OpenBSD: th,v 1.10 2003/09/01 05:16:46 fgsch Exp $
|
||||||
#
|
#
|
||||||
# Test harness for pdksh tests.
|
# Test harness for pdksh tests.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $MirBSD: th.sh,v 1.2 2004/05/24 19:56:25 tg Stab $
|
# $MirBSD: src/bin/ksh/tests/th.sh,v 1.1 2004/12/10 18:08:08 tg Exp $
|
||||||
# $OpenBSD: th.sh,v 1.4 2001/01/28 23:04:57 niklas Exp $
|
# $OpenBSD: th.sh,v 1.4 2001/01/28 23:04:57 niklas Exp $
|
||||||
#
|
#
|
||||||
# Simple script to find perl and run it
|
# Simple script to find perl and run it
|
||||||
|
4
trap.c
4
trap.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: trap.c,v 1.6 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/trap.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: trap.c,v 1.13 2003/02/28 09:45:09 jmc Exp $ */
|
/* $OpenBSD: trap.c,v 1.13 2003/02/28 09:45:09 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -9,7 +9,7 @@
|
|||||||
#define FROM_TRAP_C
|
#define FROM_TRAP_C
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: trap.c,v 1.6 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/trap.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/* Table is indexed by signal number
|
/* Table is indexed by signal number
|
||||||
*
|
*
|
||||||
|
4
tree.c
4
tree.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: tree.c,v 1.6 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/tree.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: tree.c,v 1.10 2002/02/27 19:37:09 dhartmei Exp $ */
|
/* $OpenBSD: tree.c,v 1.10 2002/02/27 19:37:09 dhartmei Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: tree.c,v 1.6 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/tree.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#define INDENT 4
|
#define INDENT 4
|
||||||
|
|
||||||
|
2
tree.h
2
tree.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: tree.h,v 1.4 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/tree.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: tree.h,v 1.8 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: tree.h,v 1.8 2003/10/22 07:40:38 jmc Exp $ */
|
||||||
/* $From: tree.h,v 1.3 1994/05/31 13:34:34 michael Exp $ */
|
/* $From: tree.h,v 1.3 1994/05/31 13:34:34 michael Exp $ */
|
||||||
|
|
||||||
|
4
tty.c
4
tty.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: tty.c,v 1.6 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/tty.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: tty.c,v 1.2 1996/10/01 02:05:51 downsj Exp $ */
|
/* $OpenBSD: tty.c,v 1.2 1996/10/01 02:05:51 downsj Exp $ */
|
||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
@ -7,7 +7,7 @@
|
|||||||
#include "tty.h"
|
#include "tty.h"
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
|
|
||||||
__RCSID("$MirBSD: tty.c,v 1.6 2004/10/28 11:53:43 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/tty.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
int
|
int
|
||||||
get_tty(int fd, TTY_state *ts)
|
get_tty(int fd, TTY_state *ts)
|
||||||
|
2
tty.h
2
tty.h
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: tty.h,v 1.5 2004/10/28 11:53:43 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/tty.h,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: tty.h,v 1.2 1996/11/21 07:59:36 downsj Exp $ */
|
/* $OpenBSD: tty.h,v 1.2 1996/11/21 07:59:36 downsj Exp $ */
|
||||||
|
|
||||||
#ifndef TTY_H
|
#ifndef TTY_H
|
||||||
|
4
var.c
4
var.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: var.c,v 1.12 2004/11/10 17:13:11 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/var.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: var.c,v 1.17 2004/05/08 19:42:35 deraadt Exp $ */
|
/* $OpenBSD: var.c,v 1.17 2004/05/08 19:42:35 deraadt Exp $ */
|
||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
@ -7,7 +7,7 @@
|
|||||||
#include "ksh_stat.h"
|
#include "ksh_stat.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
__RCSID("$MirBSD: var.c,v 1.12 2004/11/10 17:13:11 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/var.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Variables
|
* Variables
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: version.c,v 1.18 2004/12/09 20:08:48 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/version.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: version.c,v 1.12 1999/07/14 13:37:24 millert Exp $ */
|
/* $OpenBSD: version.c,v 1.12 1999/07/14 13:37:24 millert Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
|
4
vi.c
4
vi.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirBSD: vi.c,v 1.10 2004/10/28 11:53:44 tg Exp $ */
|
/** $MirBSD: src/bin/ksh/vi.c,v 1.1 2004/12/10 18:08:08 tg Exp $ */
|
||||||
/* $OpenBSD: vi.c,v 1.13 2004/05/10 16:28:47 pvalchev Exp $ */
|
/* $OpenBSD: vi.c,v 1.13 2004/05/10 16:28:47 pvalchev Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -15,7 +15,7 @@
|
|||||||
#include "ksh_stat.h" /* completion */
|
#include "ksh_stat.h" /* completion */
|
||||||
#include "edit.h"
|
#include "edit.h"
|
||||||
|
|
||||||
__RCSID("$MirBSD: vi.c,v 1.10 2004/10/28 11:53:44 tg Exp $");
|
__RCSID("$MirBSD: src/bin/ksh/vi.c,v 1.1 2004/12/10 18:08:08 tg Exp $");
|
||||||
|
|
||||||
#define Ctrl(c) (c&0x1f)
|
#define Ctrl(c) (c&0x1f)
|
||||||
#define is_wordch(c) (letnum(c))
|
#define is_wordch(c) (letnum(c))
|
||||||
|
Reference in New Issue
Block a user