diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-02-22 19:47:52 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2009-02-22 19:47:52 +0800 |
commit | 22e8fb41be2bfd0e6757c80d6365af9080a3b4a1 (patch) | |
tree | 911ba3e5f5f5971ee505704a323e43fcc0d03b88 /src | |
parent | [JOBS] Do not close stderr when /dev/tty fails to open (diff) | |
download | dash-22e8fb41be2bfd0e6757c80d6365af9080a3b4a1.tar.gz dash-22e8fb41be2bfd0e6757c80d6365af9080a3b4a1.zip |
[PARSER] Allow newlines after var name in for statements
POSIX allows newlines before the "in" keyword in for statements so we should too. Thanks to Maximilian Bernöcker for reporting this. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r-- | src/parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/parser.c b/src/parser.c index ab66f30..425c457 100644 --- a/src/parser.c +++ b/src/parser.c @@ -357,7 +357,7 @@ TRACE(("expecting DO got %s %s\n", tokname[got], got == TWORD ? wordtext : "")); n1 = (union node *)stalloc(sizeof (struct nfor)); n1->type = NFOR; n1->nfor.var = wordtext; - checkkwd = CHKKWD | CHKALIAS; + checkkwd = CHKNL | CHKKWD | CHKALIAS; if (readtoken() == TIN) { app = ≈ while (readtoken() == TWORD) { @@ -383,7 +383,7 @@ TRACE(("expecting DO got %s %s\n", tokname[got], got == TWORD ? wordtext : "")); * Newline or semicolon here is optional (but note * that the original Bourne shell only allowed NL). */ - if (lasttoken != TNL && lasttoken != TSEMI) + if (lasttoken != TSEMI) tokpushback++; } checkkwd = CHKNL | CHKKWD | CHKALIAS; |