Module Name: src Committed By: kre Date: Fri Nov 23 23:37:22 UTC 2018
Modified Files: src/bin/sh: eval.c Log Message: Handle eval $'continue\ncommand' (and similar) in a loop correctly ... "command" should not be executed. (The issue affects multi-line eval strings only - ie: commands after the next \n are not skipped). Bug noted by Martijn Dekker in off-list e-mail. Fix from FreeBSD: src/bin/sh/eval.c: Revision 272983 Sun Oct 12 13:12:06 2014 UTC by jilles To generate a diff of this commit: cvs rdiff -u -r1.162 -r1.163 src/bin/sh/eval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/bin/sh/eval.c diff -u src/bin/sh/eval.c:1.162 src/bin/sh/eval.c:1.163 --- src/bin/sh/eval.c:1.162 Tue Oct 9 02:43:41 2018 +++ src/bin/sh/eval.c Fri Nov 23 23:37:22 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: eval.c,v 1.162 2018/10/09 02:43:41 kre Exp $ */ +/* $NetBSD: eval.c,v 1.163 2018/11/23 23:37:22 kre Exp $ */ /*- * Copyright (c) 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)eval.c 8.9 (Berkeley) 6/8/95"; #else -__RCSID("$NetBSD: eval.c,v 1.162 2018/10/09 02:43:41 kre Exp $"); +__RCSID("$NetBSD: eval.c,v 1.163 2018/11/23 23:37:22 kre Exp $"); #endif #endif /* not lint */ @@ -233,6 +233,8 @@ evalstring(char *s, int flag) else evaltree(n, flag); any = 1; + if (evalskip) + break; } rststackmark(&smark); }