Module Name:    src
Committed By:   bouyer
Date:           Sat Aug 27 15:20:49 UTC 2016

Modified Files:
        src/bin/sh [netbsd-7]: parser.c

Log Message:
Pull up following revision(s) (requested by kre in ticket #1212):
        bin/sh/parser.c: revision 1.114 via patch
PR bin/51027 - fix the parsing of references to shell parameters
when given without braces (ie: $2 etc).  Only the first 9 shell
parameters ($1 .. $9) and the special parameter ($0) can be
referenced this way, $10 is ${1}0 not ${10}.   Make it so.
This bug brought to notice by Sven Mascheck's web pages which
discuss (among other things) the history of this (and other ash
based) shells .. see http://www.in-ulm.de/~mascheck/ (from kre@)


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.90.4.1 src/bin/sh/parser.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/parser.c
diff -u src/bin/sh/parser.c:1.90 src/bin/sh/parser.c:1.90.4.1
--- src/bin/sh/parser.c:1.90	Wed Jan  1 19:50:44 2014
+++ src/bin/sh/parser.c	Sat Aug 27 15:20:48 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: parser.c,v 1.90 2014/01/01 19:50:44 christos Exp $	*/
+/*	$NetBSD: parser.c,v 1.90.4.1 2016/08/27 15:20:48 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)parser.c	8.7 (Berkeley) 5/16/95";
 #else
-__RCSID("$NetBSD: parser.c,v 1.90 2014/01/01 19:50:44 christos Exp $");
+__RCSID("$NetBSD: parser.c,v 1.90.4.1 2016/08/27 15:20:48 bouyer Exp $");
 #endif
 #endif /* not lint */
 
@@ -1330,7 +1330,7 @@ parsesub: {
 			do {
 				USTPUTC(c, out);
 				c = pgetc();
-			} while (is_digit(c));
+			} while (subtype != VSNORMAL && is_digit(c));
 		}
 		else if (is_special(c)) {
 			USTPUTC(c, out);

Reply via email to