• merge final version of the stack-free diff as committed by jaredy@openbsd

thanks for helping with the bug
• merge RCS IDs
• bump mksh version
This commit is contained in:
tg 2008-08-02 17:45:12 +00:00
parent a30066cd6f
commit 9ab67aa02f
5 changed files with 13 additions and 12 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: alloc.c,v 1.7 2004/02/19 18:51:17 deraadt Exp $ */ /* $OpenBSD: alloc.c,v 1.8 2008/07/21 17:30:08 millert Exp $ */
/*- /*-
* Copyright (c) 2002 Marc Espie. * Copyright (c) 2002 Marc Espie.
@ -29,7 +29,7 @@
#include "sh.h" #include "sh.h"
__RCSID("$MirOS: src/bin/mksh/alloc.c,v 1.7 2008/07/13 16:43:55 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/alloc.c,v 1.8 2008/08/02 17:45:09 tg Exp $");
struct link { struct link {
struct link *prev; struct link *prev;

View File

@ -1,4 +1,4 @@
# $MirOS: src/bin/mksh/check.t,v 1.219 2008/07/18 11:33:11 tg Exp $ # $MirOS: src/bin/mksh/check.t,v 1.220 2008/08/02 17:45:10 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 $
@ -7,7 +7,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 R35 2008/07/18 @(#)MIRBSD KSH R35 2008/08/02
description: description:
Check version of shell. Check version of shell.
stdin: stdin:

View File

@ -1,11 +1,11 @@
/* $OpenBSD: c_ksh.c,v 1.31 2008/05/17 23:31:52 sobrado Exp $ */ /* $OpenBSD: c_ksh.c,v 1.31 2008/05/17 23:31:52 sobrado Exp $ */
/* $OpenBSD: c_sh.c,v 1.37 2007/09/03 13:54:23 otto Exp $ */ /* $OpenBSD: c_sh.c,v 1.38 2008/07/23 16:34:38 jaredy 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 $ */
/* $OpenBSD: c_ulimit.c,v 1.17 2008/03/21 12:51:19 millert Exp $ */ /* $OpenBSD: c_ulimit.c,v 1.17 2008/03/21 12:51:19 millert Exp $ */
#include "sh.h" #include "sh.h"
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.85 2008/07/14 12:29:05 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.86 2008/08/02 17:45:11 tg Exp $");
/* A leading = means assignments before command are kept; /* A leading = means assignments before command are kept;
* a leading * means a POSIX special builtin; * a leading * means a POSIX special builtin;
@ -2225,7 +2225,8 @@ timex(struct op *t, int f)
timerclear(&j_usrtime); timerclear(&j_usrtime);
timerclear(&j_systime); timerclear(&j_systime);
rv = execute(t->left, f | XTIME); rv = execute(t->left, f | XTIME);
tf |= t->left->str[0]; if (t->left->type == TCOM)
tf |= t->left->str[0];
gettimeofday(&tv1, NULL); gettimeofday(&tv1, NULL);
getrusage(RUSAGE_SELF, &ru1); getrusage(RUSAGE_SELF, &ru1);
getrusage(RUSAGE_CHILDREN, &cru1); getrusage(RUSAGE_CHILDREN, &cru1);

4
sh.h
View File

@ -100,9 +100,9 @@
#define __SCCSID(x) __IDSTRING(sccsid,x) #define __SCCSID(x) __IDSTRING(sccsid,x)
#ifdef EXTERN #ifdef EXTERN
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.229 2008/07/18 11:33:12 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.230 2008/08/02 17:45:12 tg Exp $");
#endif #endif
#define MKSH_VERSION "R35 2008/07/18" #define MKSH_VERSION "R35 2008/08/02"
#ifndef MKSH_INCLUDES_ONLY #ifndef MKSH_INCLUDES_ONLY

6
syn.c
View File

@ -1,8 +1,8 @@
/* $OpenBSD: syn.c,v 1.27 2006/04/10 14:38:59 jaredy Exp $ */ /* $OpenBSD: syn.c,v 1.28 2008/07/23 16:34:38 jaredy Exp $ */
#include "sh.h" #include "sh.h"
__RCSID("$MirOS: src/bin/mksh/syn.c,v 1.25 2008/07/18 11:33:13 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/syn.c,v 1.26 2008/08/02 17:45:12 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) */
@ -413,7 +413,7 @@ get_command(int cf)
t = pipeline(0); t = pipeline(0);
if (t) { if (t) {
t->str = alloc(2, ATEMP); t->str = alloc(2, ATEMP);
t->str[0] = 0; /* TF_* flags */ t->str[0] = '\0'; /* TF_* flags */
t->str[1] = '\0'; t->str[1] = '\0';
} }
t = block(TTIME, t, NOBLOCK, NOWORDS); t = block(TTIME, t, NOBLOCK, NOWORDS);