From 16fb264efc4fb1cd2905427d648cc6e0a812846b Mon Sep 17 00:00:00 2001 From: tg Date: Mon, 23 May 2005 16:23:19 +0000 Subject: [PATCH] aaaand: Interix. --- check.t | 13 ++++++------- edit.c | 6 ++++-- histrap.c | 9 ++++----- jobs.c | 6 +++--- sh.h | 6 +++++- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/check.t b/check.t index 78a3044..1842f1f 100644 --- a/check.t +++ b/check.t @@ -1,4 +1,4 @@ -# $MirOS: src/bin/mksh/check.t,v 1.7 2005/05/23 16:17:00 tg Exp $ +# $MirOS: src/bin/mksh/check.t,v 1.8 2005/05/23 16:23:18 tg Exp $ # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ @@ -1875,7 +1875,8 @@ expected-stderr-pattern: name: history-ed-1-old description: Basic (ed) editing works (assumes you have generic ed editor - that prints no prompts). + that prints no prompts). This is for oldish ed(1) which write + the character count to stdout. Found on MS Interix/SFU 3.5. category: os:interix arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! @@ -1927,7 +1928,7 @@ name: history-ed-3-old description: Newly created multi line commands show up as single command in history. - (NOTE: will fail if using COMPLEX HISTORY compile time option) + (NOTE: adjusted for COMPLEX HISTORY compile time option) (ksh88 fails 'cause it lists the fc command) category: os:interix arguments: !-i! @@ -1952,14 +1953,14 @@ expected-stdout: a new line 1 echo abc def 2 echo FOOBAR def - echo a new line + 3 echo a new line expected-stderr-pattern: /^X*echo FOOBAR def\necho a new line\nX*$/ --- name: history-ed-1 description: Basic (ed) editing works (assumes you have generic ed editor - that prints no prompts). + that prints no prompts). This is for newish ed(1) and stderr. # we don't have persistent history on Solaris (no flock) category: !os:solaris, !os:interix arguments: !-i! @@ -2008,8 +2009,6 @@ name: history-ed-3 description: Newly created multi line commands show up as single command in history. - (NOTE: adapted for COMPLEX HISTORY compile time option) - (ksh88 fails 'cause it lists the fc command) category: !os:solaris, !os:interix arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! diff --git a/edit.c b/edit.c index 48149c0..ffeea36 100644 --- a/edit.c +++ b/edit.c @@ -1,4 +1,4 @@ -/** $MirOS: src/bin/mksh/edit.c,v 1.2 2005/05/23 15:18:15 tg Exp $ */ +/** $MirOS: src/bin/mksh/edit.c,v 1.3 2005/05/23 16:23:18 tg Exp $ */ /* $OpenBSD: edit.c,v 1.29 2005/04/13 02:33:08 deraadt Exp $ */ /* $OpenBSD: edit.h,v 1.8 2005/03/28 21:28:22 deraadt Exp $ */ /* $OpenBSD: emacs.c,v 1.37 2005/03/30 17:16:37 deraadt Exp $ */ @@ -10,7 +10,7 @@ #include #include -__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.2 2005/05/23 15:18:15 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.3 2005/05/23 16:23:18 tg Exp $"); #define BEL 0x07 @@ -203,7 +203,9 @@ x_mode(bool onoff) /* osf/1 processes lnext when ~icanon */ cb.c_cc[VLNEXT] = _POSIX_VDISABLE; /* sunos 4.1.x & osf/1 processes discard(flush) when ~icanon */ +#ifdef VDISCARD cb.c_cc[VDISCARD] = _POSIX_VDISABLE; +#endif cb.c_cc[VTIME] = 0; cb.c_cc[VMIN] = 1; diff --git a/histrap.c b/histrap.c index 7a56cda..e7ea531 100644 --- a/histrap.c +++ b/histrap.c @@ -1,4 +1,4 @@ -/** $MirOS: src/bin/mksh/histrap.c,v 1.7 2005/05/23 15:54:31 tg Exp $ */ +/** $MirOS: src/bin/mksh/histrap.c,v 1.8 2005/05/23 16:23:18 tg Exp $ */ /* $OpenBSD: history.c,v 1.30 2005/03/30 17:16:37 deraadt Exp $ */ /* $OpenBSD: trap.c,v 1.22 2005/03/30 17:16:37 deraadt Exp $ */ @@ -8,7 +8,7 @@ #include #include -__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.7 2005/05/23 15:54:31 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.8 2005/05/23 16:23:18 tg Exp $"); static int histfd; static int hsize; @@ -39,9 +39,8 @@ static Source *hist_source; #define mksh_signame(x) sys_signame[(x)] #define mksh_siglist(x) sys_siglist[(x)] #elif defined(__INTERIX) -#define mksh_signame(x) __sys_signame[(x)] -#define mksh_siglist(x) __sys_siglist[(x)] -#define NSIG __sys_nsig +#define mksh_signame(x) _sys_signame[(x)] +#define mksh_siglist(x) _sys_siglist[(x)] #elif defined(__gnu_linux__) || defined(__sun__) #define NEED_MKSH_SIGNAME #define mksh_siglist(x) strerror(x) diff --git a/jobs.c b/jobs.c index 08ce6a8..1a4a09e 100644 --- a/jobs.c +++ b/jobs.c @@ -1,4 +1,4 @@ -/** $MirOS: src/bin/mksh/jobs.c,v 1.1 2005/05/23 03:06:08 tg Exp $ */ +/** $MirOS: src/bin/mksh/jobs.c,v 1.2 2005/05/23 16:23:19 tg Exp $ */ /* $OpenBSD: jobs.c,v 1.34 2005/03/30 17:16:37 deraadt Exp $ */ #include "sh.h" @@ -7,7 +7,7 @@ #include #include -__RCSID("$MirOS: src/bin/mksh/jobs.c,v 1.1 2005/05/23 03:06:08 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/jobs.c,v 1.2 2005/05/23 16:23:19 tg Exp $"); /* Order important! */ #define PRUNNING 0 @@ -126,7 +126,7 @@ static int kill_job(Job *, int); void j_init(int mflagset) { - child_max = CHILD_MAX; /* so syscon() isn't always being called */ + child_max = sysconf(_SC_CHILD_MAX); sigemptyset(&sm_default); sigprocmask(SIG_SETMASK, &sm_default, NULL); diff --git a/sh.h b/sh.h index d0d8bae..6471742 100644 --- a/sh.h +++ b/sh.h @@ -1,4 +1,4 @@ -/** $MirOS: src/bin/mksh/sh.h,v 1.5 2005/05/23 15:36:55 tg Exp $ */ +/** $MirOS: src/bin/mksh/sh.h,v 1.6 2005/05/23 16:23:19 tg Exp $ */ /* $OpenBSD: sh.h,v 1.27 2005/03/28 21:33:04 deraadt Exp $ */ /* $OpenBSD: shf.h,v 1.5 2005/03/30 17:16:37 deraadt Exp $ */ /* $OpenBSD: table.h,v 1.6 2004/12/18 20:55:52 millert Exp $ */ @@ -36,6 +36,10 @@ #ifndef SH_H #define SH_H +#if defined(__INTERIX) && !defined(_ALL_SOURCE) +#define _ALL_SOURCE +#endif + #include #if defined(__gnu_linux__) && !defined(_POSIX_SOURCE)