make mksh -exc 'eval false || true'; echo $? echo 0 not 1
From Debian bug #269067
This commit is contained in:
parent
e3cfc9261a
commit
ba859c9ab1
14
funcs.c
14
funcs.c
@ -1,4 +1,4 @@
|
|||||||
/** $MirOS: src/bin/mksh/funcs.c,v 1.6 2005/05/25 09:18:16 tg Exp $ */
|
/** $MirOS: src/bin/mksh/funcs.c,v 1.7 2005/05/25 09:39:49 tg Exp $ */
|
||||||
/* $OpenBSD: c_ksh.c,v 1.27 2005/03/30 17:16:37 deraadt Exp $ */
|
/* $OpenBSD: c_ksh.c,v 1.27 2005/03/30 17:16:37 deraadt Exp $ */
|
||||||
/* $OpenBSD: c_sh.c,v 1.29 2005/03/30 17:16:37 deraadt Exp $ */
|
/* $OpenBSD: c_sh.c,v 1.29 2005/03/30 17:16:37 deraadt Exp $ */
|
||||||
/* $OpenBSD: c_test.c,v 1.17 2005/03/30 17:16:37 deraadt Exp $ */
|
/* $OpenBSD: c_test.c,v 1.17 2005/03/30 17:16:37 deraadt Exp $ */
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#include <ulimit.h>
|
#include <ulimit.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.6 2005/05/25 09:18:16 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.7 2005/05/25 09:39:49 tg Exp $");
|
||||||
|
|
||||||
int
|
int
|
||||||
c_cd(char **wp)
|
c_cd(char **wp)
|
||||||
@ -1792,7 +1792,8 @@ c_read(char **wp)
|
|||||||
int
|
int
|
||||||
c_eval(char **wp)
|
c_eval(char **wp)
|
||||||
{
|
{
|
||||||
struct source *s;
|
struct source *s, *saves = source;
|
||||||
|
int savef, rv;
|
||||||
|
|
||||||
if (ksh_getopt(wp, &builtin_opt, null) == '?')
|
if (ksh_getopt(wp, &builtin_opt, null) == '?')
|
||||||
return 1;
|
return 1;
|
||||||
@ -1826,7 +1827,12 @@ c_eval(char **wp)
|
|||||||
exstat = subst_exstat;
|
exstat = subst_exstat;
|
||||||
}
|
}
|
||||||
|
|
||||||
return shell(s, false);
|
savef = Flag(FERREXIT);
|
||||||
|
Flag(FERREXIT) = 0;
|
||||||
|
rv = shell(s, false);
|
||||||
|
Flag(FERREXIT) = savef;
|
||||||
|
source = saves;
|
||||||
|
return (rv);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user