• add patch from Robert Luberda <robert@debian.org> fixing the
four-argument form of test (yet again…), thanks • drop the obsolete (pre-POSIX) form “test -t” without fd
This commit is contained in:
parent
c021aa4cad
commit
3f21a0e199
36
check.t
36
check.t
@ -1,4 +1,4 @@
|
|||||||
# $MirOS: src/bin/mksh/check.t,v 1.450 2011/05/05 00:04:55 tg Exp $
|
# $MirOS: src/bin/mksh/check.t,v 1.451 2011/05/06 15:41:21 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 $
|
||||||
# $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 $
|
||||||
# $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 $
|
||||||
@ -25,7 +25,7 @@
|
|||||||
# http://www.research.att.com/~gsf/public/ifs.sh
|
# http://www.research.att.com/~gsf/public/ifs.sh
|
||||||
|
|
||||||
expected-stdout:
|
expected-stdout:
|
||||||
@(#)MIRBSD KSH R39 2011/05/04
|
@(#)MIRBSD KSH R39 2011/05/06
|
||||||
description:
|
description:
|
||||||
Check version of shell.
|
Check version of shell.
|
||||||
stdin:
|
stdin:
|
||||||
@ -8787,3 +8787,35 @@ stdin:
|
|||||||
expected-stdout:
|
expected-stdout:
|
||||||
bar
|
bar
|
||||||
---
|
---
|
||||||
|
name: debian-117-1
|
||||||
|
description:
|
||||||
|
Check test - bug#465250
|
||||||
|
stdin:
|
||||||
|
test \( ! -e \) ; echo $?
|
||||||
|
expected-stdout:
|
||||||
|
1
|
||||||
|
---
|
||||||
|
name: debian-117-2
|
||||||
|
description:
|
||||||
|
Check test - bug#465250
|
||||||
|
stdin:
|
||||||
|
test \( -e \) ; echo $?
|
||||||
|
expected-stdout:
|
||||||
|
0
|
||||||
|
---
|
||||||
|
name: debian-117-3
|
||||||
|
description:
|
||||||
|
Check test - bug#465250
|
||||||
|
stdin:
|
||||||
|
test ! -e ; echo $?
|
||||||
|
expected-stdout:
|
||||||
|
1
|
||||||
|
---
|
||||||
|
name: debian-117-4
|
||||||
|
description:
|
||||||
|
Check test - bug#465250
|
||||||
|
stdin:
|
||||||
|
test -e ; echo $?
|
||||||
|
expected-stdout:
|
||||||
|
0
|
||||||
|
---
|
||||||
|
19
funcs.c
19
funcs.c
@ -38,7 +38,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.185 2011/04/09 21:01:01 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.186 2011/05/06 15:41:23 tg Exp $");
|
||||||
|
|
||||||
#if HAVE_KILLPG
|
#if HAVE_KILLPG
|
||||||
/*
|
/*
|
||||||
@ -2542,11 +2542,23 @@ c_test(const char **wp)
|
|||||||
* our parser does the right thing for the omitted steps.
|
* our parser does the right thing for the omitted steps.
|
||||||
*/
|
*/
|
||||||
if (argc <= 5) {
|
if (argc <= 5) {
|
||||||
const char **owp = wp;
|
const char **owp = wp, **owpend = te.wp_end;
|
||||||
int invert = 0;
|
int invert = 0;
|
||||||
Test_op op;
|
Test_op op;
|
||||||
const char *opnd1, *opnd2;
|
const char *opnd1, *opnd2;
|
||||||
|
|
||||||
|
if (argc >= 2 && ((*te.isa)(&te, TM_OPAREN))) {
|
||||||
|
te.pos.wp = te.wp_end - 1;
|
||||||
|
if ((*te.isa)(&te, TM_CPAREN)) {
|
||||||
|
argc -= 2;
|
||||||
|
te.wp_end--;
|
||||||
|
te.pos.wp = owp + 2;
|
||||||
|
} else {
|
||||||
|
te.pos.wp = owp + 1;
|
||||||
|
te.wp_end = owpend;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while (--argc >= 0) {
|
while (--argc >= 0) {
|
||||||
if ((*te.isa)(&te, TM_END))
|
if ((*te.isa)(&te, TM_END))
|
||||||
return (!0);
|
return (!0);
|
||||||
@ -2567,8 +2579,6 @@ c_test(const char **wp)
|
|||||||
}
|
}
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
opnd1 = (*te.getopnd)(&te, TO_NONOP, 1);
|
opnd1 = (*te.getopnd)(&te, TO_NONOP, 1);
|
||||||
if (strcmp(opnd1, "-t") == 0)
|
|
||||||
break;
|
|
||||||
res = (*te.eval)(&te, TO_STNZE, opnd1,
|
res = (*te.eval)(&te, TO_STNZE, opnd1,
|
||||||
NULL, 1);
|
NULL, 1);
|
||||||
if (invert & 1)
|
if (invert & 1)
|
||||||
@ -2581,6 +2591,7 @@ c_test(const char **wp)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
te.pos.wp = owp + 1;
|
te.pos.wp = owp + 1;
|
||||||
|
te.wp_end = owpend;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (test_parse(&te));
|
return (test_parse(&te));
|
||||||
|
8
mksh.1
8
mksh.1
@ -1,4 +1,4 @@
|
|||||||
.\" $MirOS: src/bin/mksh/mksh.1,v 1.259 2011/05/05 00:04:58 tg Exp $
|
.\" $MirOS: src/bin/mksh/mksh.1,v 1.260 2011/05/06 15:41:24 tg Exp $
|
||||||
.\" $OpenBSD: ksh.1,v 1.140 2011/04/23 10:14:59 sobrado Exp $
|
.\" $OpenBSD: ksh.1,v 1.140 2011/04/23 10:14:59 sobrado Exp $
|
||||||
.\"-
|
.\"-
|
||||||
.\" Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
.\" Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
@ -72,7 +72,7 @@
|
|||||||
.\" with -mandoc, it might implement .Mx itself, but we want to
|
.\" with -mandoc, it might implement .Mx itself, but we want to
|
||||||
.\" use our own definition. And .Dd must come *first*, always.
|
.\" use our own definition. And .Dd must come *first*, always.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: May 5 2011 $
|
.Dd $Mdocdate: May 6 2011 $
|
||||||
.\"
|
.\"
|
||||||
.\" Check which macro package we use
|
.\" Check which macro package we use
|
||||||
.\"
|
.\"
|
||||||
@ -4229,14 +4229,12 @@ socket.
|
|||||||
.It Fl s Ar file
|
.It Fl s Ar file
|
||||||
.Ar file
|
.Ar file
|
||||||
is not empty.
|
is not empty.
|
||||||
.It Fl t Op Ar fd
|
.It Fl t Ar fd
|
||||||
File descriptor
|
File descriptor
|
||||||
.Ar fd
|
.Ar fd
|
||||||
is a
|
is a
|
||||||
.Xr tty 4
|
.Xr tty 4
|
||||||
device.
|
device.
|
||||||
.Ar fd
|
|
||||||
may be left out, in which case it is taken to be 1.
|
|
||||||
.It Fl u Ar file
|
.It Fl u Ar file
|
||||||
.Ar file Ns 's
|
.Ar file Ns 's
|
||||||
mode has the setuid bit set.
|
mode has the setuid bit set.
|
||||||
|
4
sh.h
4
sh.h
@ -151,9 +151,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef EXTERN
|
#ifdef EXTERN
|
||||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.468 2011/05/05 00:04:59 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.469 2011/05/06 15:41:25 tg Exp $");
|
||||||
#endif
|
#endif
|
||||||
#define MKSH_VERSION "R39 2011/05/04"
|
#define MKSH_VERSION "R39 2011/05/06"
|
||||||
|
|
||||||
#ifndef MKSH_INCLUDES_ONLY
|
#ifndef MKSH_INCLUDES_ONLY
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user