Module Name: src Committed By: christos Date: Sun Mar 25 18:49:14 UTC 2012
Modified Files: src/bin/sh: parser.c Log Message: PR/43597: Don't break from parsing word tokens in we are in double quotes. Fixes: sh -c 'echo "${foo:="first-word"} second-word"' To generate a diff of this commit: cvs rdiff -u -r1.80 -r1.81 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.80 src/bin/sh/parser.c:1.81 --- src/bin/sh/parser.c:1.80 Wed Aug 31 12:24:55 2011 +++ src/bin/sh/parser.c Sun Mar 25 14:49:13 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: parser.c,v 1.80 2011/08/31 16:24:55 plunky Exp $ */ +/* $NetBSD: parser.c,v 1.81 2012/03/25 18:49:13 christos 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.80 2011/08/31 16:24:55 plunky Exp $"); +__RCSID("$NetBSD: parser.c,v 1.81 2012/03/25 18:49:13 christos Exp $"); #endif #endif /* not lint */ @@ -1108,7 +1108,7 @@ readtoken1(int firstc, char const *syn, case CEOF: goto endword; /* exit outer loop */ default: - if (varnest == 0) + if (varnest == 0 && !ISDBLQUOTE()) goto endword; /* exit outer loop */ USTPUTC(c, out); }